我正在向控制器发送multipartfile,当控制器中的逻辑完成时,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)
我的控制器:
@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'
});
3条答案
按热度按时间vhmi4jdf1#
您是否使用Tomcat或Undertow作为应用程序服务器?
如果是Undertow,它可能只是一个良性异常,通知您临时文件无法删除,因为它已经被删除(来源:https://github.com/spring-projects/spring-boot/issues/3966,其中还提到了一个bug ticket open UNDERTOW-542)。
我在使用
fast
配置文件运行基于jHipster的项目时遇到了同样的问题,该配置文件使用Undertow。一切都按预期工作,但引发了此错误。如果我使用dev
配置文件,它使用Tomcat,则不会抛出任何错误。vsikbqxv2#
当我开始使用
Spring 4.3.1.RELEASE
和wildfly 9.x
时,我遇到了同样的问题。为了解决这个问题,我刚刚将我的Spring版本从
4.2.2.RELEASE
更新到4.2.3.RELEASE
,解决了这个问题。ilmyapht3#
//这是我的服务类