我正在发送到 Controller 多部分文件,当 Controller 中的逻辑完成时,spring 调用错误:
2015-09-10 10:41:05 WARN (StandardServletMultipartResolver.java:91) - Failed to perform cleanup of multipart items
java.io.IOException: UT010015: Could not delete file ....\Path\undertow6870903013120486522upload
at io.undertow.servlet.spec.PartImpl.delete(PartImpl.java:111)
我的 Controller :
@RequestMapping(value = "api/{name}/file", method = RequestMethod.POST,consumes="multipart/form-data")
public ResponseEntity<?> receiveFile(@RequestParam(value = "file") MultipartFile multipartFile,
@PathVariable("name") String name) throws IOException {
logic here
return new ResponseEntity<>(HttpStatus.OK);
}
我正在使用 AngularJS(ng-file-upload 模块)发送文件:
file.upload = Upload.upload({
url: sUrl,
method: 'POST',
headers: {'Content-Type': '"multipart/form-data'},
file: file,
fileFormDataName: 'file'
});
最佳答案
您使用 Tomcat 还是 Undertow 作为应用程序服务器?
如果是 Undertow,它可能只是一个良性异常,通知您临时文件无法删除,因为它已被删除(来源:https://github.com/spring-projects/spring-boot/issues/3966,其中还提到了一个打开的错误票 UNDERTOW-542)。
我在使用 fast
配置文件(使用 Undertow)运行基于 jHipster 的项目时遇到了同样的问题。一切都按预期进行,但抛出了这个错误。如果我使用使用 Tomcat 的 dev
配置文件,则不会引发任何错误。
关于java - Spring 无法执行多部分项目的清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32497657/