我的服务器端代码已经使用邮递员工作,它不能使用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";
}
我不知道它是否无法从字符串创建图像,因为存在尺寸问题或其他问题。 有什么想法吗?
答案 0 :(得分:0)
解决。 我只需用+
替换所有空格(我不知道它们在哪里创建)$base64_file = str_replace(' ', '+', $base64_file);
我希望这对某人有帮助:))