使用$ http.post()以`FormData`的形式传递图像和其他数据时出现问题

时间:2019-02-20 19:09:53

标签: javascript angularjs

我在以FormData的形式传递图像和其他数据时遇到问题。

我尝试了以下不同方法:

  1. var payload = new FormData;和数据与 payload.append('fees', $scope.fees);      payload.append('lat', $scope.lat);      payload.append('lon', $scope.lon);      payload.append('mer_icon', preIconUrl);
$http.post("APIUrl",payload,{
  headers: {'Content-Type': undefined},
  transformRequest: angular.identity
}
)
.then(function(response) {
  console.log(" response: %j ",response);
  if (response.data.success == 1) {
                     // success
                     console.log("success 1 response: %j ",response);
                     console.log("success 1 response.data: %j ",response.data);

                 } else if (response.data.success == -1){
                  console.log("success 0 response.data: %j ",response.data);
                 }else{
                  console.log("success 0 response.data: %j ",response.data);
                 }

             }),
function(response){
  console.log(" fail response.data: %j ",response.data);
}

当我使用浏览器控制台打印payload(FormData)时,它可以工作。但是在image data(mer_icon)的服务器端,我得到了undefined

2。用headers: { 'Content-Type': 'multipart/form-data'}处理,会引发多部分边界错误。

3。没有标题的方法,与我在第一种方法中获得的undefined在服务器端相同。

0 个答案:

没有答案