【问题标题】:Spring Controller is not accepting the file sent by the angular controllerSpring Controller 不接受角度控制器发送的文件
【发布时间】:2015-10-10 15:10:47
【问题描述】:

我将一些表单数据发布到 Spring 控制器,如果成功,我再次将两个文件从 Angular 控制器发布到 Spring 控制器:

$http.post('userdetails', formData).success(function(response) {
  if ($scope.items.length > 0) {
    for (var i = 0; i < $scope.items.length; i++) {
      $scope.uploadItem(response.id, $scope.items[i]);
    }
  }
});

这是我的uploadItem函数:

$scope.uploadItem = function(id, file) {
  var data = new FormData();
  data.append('id', id);
  data.append('file', file);

  $http.post('multipleSave', data, {
    transformRequest: function(data, headersGetterFunction) {
      return data;
    },
    headers: {
      'Content-Type': undefined
    }
  }).success(function(data) {
    $log.debug("Upload Successfull");
    $log.debug("File upload: Success calling ");
    alert(data);
    alert("hi");
  }).error(function(error) {
    $log.debug("Upload failure");
    alert(error);

  });
};

这是我的 Spring 控制器代码

@RequestMapping(value="/multipleSave", method = RequestMethod.POST)
    public void UploadFile(MultipartHttpServletRequest request, HttpServletResponse response) {

        Iterator<String> itr=request.getFileNames();

        MultipartFile file=request.getFile(itr.next());

        String fileName=file.getOriginalFilename();
        System.out.println(fileName);
    }

MultipartHttpServletRequest 请求中的内容为空。

【问题讨论】:

  • 你如何填充$scope.items
  • $scope.addItem = function (item) { if ($scope.item.file != undefined){ $scope.items.push($scope.item); $scope.item = {}; }

标签: angularjs spring spring-mvc


【解决方案1】:

您应该在请求标头中将加密类型设置为 multipart/form-data

$http.post('multipleSave', data, {
      transformRequest: function(data, headersGetterFunction) {
          return data;
      },
      headers: { 
         'Content-Type': undefined,
         enctype:'multipart/form-data'
      }
})

【讨论】:

  • @Yogesh 有帮助吗?
  • 我尝试了 enctype 但没有成功
  • 你有什么解决办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
  • 2016-04-13
  • 2015-11-11
  • 2018-02-15
相关资源
最近更新 更多