java - Spring MultipartFiles 在混合多部分中重复文件

标签 java angularjs spring-mvc multipart

我有这样的用户界面代码

  .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`
}

这是 Controller 部分

 @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 有重复的文件。例如,我附加了一个“test.txt”,但是在调试时我在 Controller 中看到了两个“test.txt”文件。

有什么办法可以解决这个问题吗?

最佳答案

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

解决方法可以引用这里 github.com/spring-cloud/spring-cloud-netflix/issues/1171

关于java - Spring MultipartFiles 在混合多部分中重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42087648/

相关文章:

java - 如何在 spring Controller 中将 JSON 转换为 java 对象,反之亦然?

java - 在 vc++ 中使用基于 java 的 Web 服务

java - 使用 Spring Data 通过实体 ID 从实体获取嵌入式对象

java - 如何使用流API从数据库加载数据?

javascript - 使用用户定义的 SVG 多边形

angularjs - Electron angularjs ui-router 没有在 mac 上加载 ui-view

javascript - 如何在 View 中访问 Angular JS 自定义过滤器 JSON 数据

java - Spring MVC : Return CSS

java - Spring MVC 处理 dao.EmptyResultDataAccessException

java - 应该填充的集合为空