我有这样的用户界面代码
.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/