java - Spring 无法执行多部分项目的清理

标签 java spring spring-mvc controller spring-boot

我正在发送到 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/

相关文章:

java - 每当加载 java applet 时都会出错

java - 玩框架和gradle

java - 为什么在 Spring 中,对于内容类型为 json-patch 的请求,日期转换不起作用?

java - webflow测试,找不到流量模型

java - 非法访问 : this web application instance has been stopped already. Tomcat 停止运行

java - 机器人 : How to set Country code manually in emulator

java - 生成数字作为暴力应用程序的一部分

java - Spring mvc 无法在表单中使用 post 方法

java - Spring Security 和 Web MVC : How to save data that belong to a user?

java - 尝试在Spring MVC Controller 中使用entityManager时出现NullPointerException