我正在尝试通过Spring Boot应用程序的多部分上传来上传文件。在上传文件时,Jetty会抛出FileNotFound异常。
以下是模型结构:
private String identifier;
private MultipartFile file;
以下是配置:
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize("500MB");
factory.setMaxRequestSize("500MB");
return factory.createMultipartConfig();
}
@Bean
public CommonsMultipartResolver multipartResolver() {
return new CommonsMultipartResolver();
}
以下调用会抛出异常:
model.getFile().getInputStream()
以下是堆栈跟踪:
java.io.FileNotFoundException: /tmp/MultiPart7953817223010764667 (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at org.eclipse.jetty.util.MultiPartInputStream$MultiPart.getInputStream(MultiPartInputStream.java:218)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile.getInputStream(StandardMultipartHttpServletRequest.java:253)
//user classes
这个问题是间歇性的,我无法通过连续尝试重现它。同样的文件第二次上传成功。
你有什么想法我在这里做错了吗?
提前致谢。
tmp
目录了吗?看起来好像有些东西在 Spring 写出文件和尝试检索它之间清除了该文件。 - Vivin Paliath