MultipartFile中调用transferTo(File file)报FileNotFoundException问题,虽然异常报的是MultipartFile文件找不到,
但是其实是transferTo(File file)中的file找不到目标地址(或者连不上目标地址)导致。
展示出现异常的重点代码:
- [上传文件发生异常:java.io.FileNotFoundException: C:\Users\AppData\Local\Temp\tomcat.5008553217922572309.8307\work\Tomcat\localhost\ROOT\http:\192.168.50.121:8101test\manager-service\3\20201104\20201104113719_ad88a516-63df-43ce-a9f9-49cc884eee07.png (文件名、目录名或卷标语法不正确。),{}]
java.io.IOException: java.io.FileNotFoundException:
异常显示为文件找不到,在debug断点下运行的时候是能在这个地址找到临时文件的 ,然后发现如果file地址给一个本地的地址是能成功的,分析后得出结论:
- 本地环境为Windows系统只能用C:\\test\\*** 等作为file最终存储地址
- 而测试环境着为Linux系统,通常是是没有盘符的开头/manager-service/***
总结:MultipartFile不太好用,容易出bug...