无法使用 angular js 将 base 64 图像数据发送到服务器

Unable to send base 64 Image data to server with angular js

我正在尝试使用 $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);
    });

请帮忙解决这个问题。

将 base 64 分成多个部分(根据您的标准确定大小,自行决定数字部分)并对最初创建的对象进行更新,如果您希望使用 base 64 样式发送数据.否则请参考下面的一些 angular 文件上传模块:

http://ngmodules.org/modules/angular-file-upload

如果是JAVA Rest API,我会直接推荐多部分表单数据文件上传机制。如果您还想要更多,请告诉我。

谢谢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");
   }
});

我认为不建议将 base 64 图像数据发送到服务器用于大尺寸图像,这是 运行 内存不足的好方法。最好使用文件并发送文件。