使用$ http

时间:2017-04-13 11:07:15

标签: angularjs http post ionic-framework

我的服务器端代码已经使用邮递员工作,它不能使用Ionic

我尝试使用此功能将以base64(大约2M)转换的图像上传到服务器:

this.postPic = function(image,tags,title){
    var dfd = $q.defer();
    var req = {
          method: 'POST',
          url: baseURL+"utility.uploadpic",
          data: "auth_token="+$localstorage.get("token")+"&tags="+tags+"&title="+title+"&base64_file="+image,
          headers:{
              'Content-Type' : 'application/x-www-form-urlencoded'
          }
    };
    $http(req).success(function(response){
      dfd.resolve(response);
    });
    return dfd.promise;
  }

在上传过程中出现错误(显示消息"创建文件错误"在以下代码中)

function upload_pic($title,$tags,$base64_file){
        $title = htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
        $desc = $title;
        $file_obj_string = base64_decode($base64_file);
        //Creating file from string
        $imgRaw = imagecreatefromstring( $file_obj_string);
        if ($imgRaw !== false) {
        .................
        }
        else{
            return "Error creating file";
        }

我不知道它是否无法从字符串创建图像,因为存在尺寸问题或其他问题。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决。 我只需用+

替换所有空格(我不知道它们在哪里创建)
$base64_file = str_replace(' ', '+', $base64_file);

我希望这对某人有帮助:))