Spring MultipartFiles复制混合多部分中的文件

时间:2017-02-07 10:38:59

标签: java angularjs spring-mvc multipart

我有像这样的UI代码

  .factory('Service', function ($http, $resource, BASE_PATH) {
function sendResponse (code, responses) {
  return $http({
    method: 'POST',
    url: "/test",
    headers: {'Content-Type': undefined},
    transformRequest: function (data) {
      var formData = new FormData();
      formData.append("dec", new Blob([angular.toJson(data.dec)], {type: 'application/json'}));
      angular.forEach(data.files, file => {
        formData.append("file", file);
      });
      return formData;
    },
    data: {dec: responses.dec, files: responses.files}
  });`enter code here`
}

这里是控制器部分

 @RequestMapping(value = "/test", method = POST)
public ResponseEntity<List<Test>> save(@RequestPart(value = "file", required = false) MultipartFile[] multipartFiles,
    @RequestPart(value = "dec") List<Decision> dec) {
    return save(multipartFiles, dec);
}

问题是,MultipartFile有重复的文件。例如,我附上一个&#34; test.txt&#34;但是,我看到两个&#34; test.txt&#34;调试时控制器中的文件。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我之间使用zuul服务器作为API gatway。我发现旧版本的zuul中存在一个错误,它复制了多部分对象的一部分。

这里可以参考解决方案 github.com/spring-cloud/spring-cloud-netflix/issues/1171