我正在尝试使用$ http Post请求将Base64图像数据发送到服务器,它适用于较低分辨率的图像(高达100KB)但不适用于更高分辨率的图像(尝试6MB文件)。
获取错误:400错误请求。
$http({url:ServerURL,method: "POST",
params: {imageData:base64_imgData}
}).then(function(response) {
console.log(response.data);
console.log(response.status);
},function(response) {
console.log(response.data);
console.log(response.status);
});
请帮助解决这个问题。
答案 0 :(得分:0)
将基础64分成多个部分(根据您的标准确定大小,使用您自行决定数字部分)并对最初创建的对象进行更新,如果您希望使用基本64样式的发送数据。另外请参考以下文件上传的一些角度模块:
http://ngmodules.org/modules/angular-file-upload
如果是JAVA Rest API,我会立即推荐多部分表单数据文件上传机制。如果您还需要更多信息,请与我们联系。
答案 1 :(得分:0)
谢谢Jay的回答,你的回答帮助了我。
使用Jquery Ajax请求解决了问题
$.ajax({
type: "POST",
url: ServerURL,
data: {
imageData:base64_imgData
},
cache: false,
contentType: "application/x-www-form-urlencoded",
success: function (result) {
console.log("Success");
}
});
我认为不建议将大型64图像数据发送到服务器用于大尺寸图像,这是耗尽内存的一种非常好的方法。最好使用文件并发送文件。