SpringBoot上传多个文件报错.tmp (系统找不到指定的文件。)

  • Post author:
  • Post category:其他


错误

Caused by: java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local\Temp\tomcat.8080.8989524379785607827\work\Tomcat\localhost\ROOT\upload_1efc7d4e_d47b_4a32_9bc3_050b8e7bc457_00000001.tmp (系统找不到指定的文件。)
	at java.io.FileInputStream.open0(Native Method) ~[na:1.8.0_151]
	at java.io.FileInputStream.open(FileInputStream.java:195) ~[na:1.8.0_151]
	at java.io.FileInputStream.<init>(FileInputStream.java:138) ~[na:1.8.0_151]
	at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.write(DiskFileItem.java:404) ~[tomcat-embed-core-9.0.43.jar:9.0.43]
	at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:120) ~[tomcat-embed-core-9.0.43.jar:9.0.43]
	... 52 common frames omitted

原因

上网查找以为是这个原因:

解决使用Spring Boot、Multipartfile实现上传提示无法找到文件的问题

但经过测试,不是这个原因,最终检查代码,发现如下:

发现在上传保存多个文件时,居然是file这个MutipartFile类对象在调用transferTo()方法,而不是正在循环遍历的multipartFile对象,很粗心的错误,上面在保存单个文件时file已经调用过了transferTo()方法,保存结束了。

解决

解决方法当然是使用multipartFile调用transferTo()方法,来保存上传的文件。

保存下,记录下错误。



版权声明:本文为cnds123321原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。