使用MultipartFile实现FastDFS文件上传功能中出现java.io.UncheckedIOException异常问题

81 阅读1分钟
控制台异常报错:

Snipaste_2023-09-12_15-04-58.jpg

异常代码:

Snipaste_2023-09-12_14-47-56.jpg

异常原因:

​ 在uploadFile方法中传入文件内的InputStream流时,直接传入,调用方法执行结束后文件输入流未关闭,之后执行的 delete 操作就会因为该文件流还在工作而不可删除,因此抛出异常问题。

解决方法:

方法一 : 定义临时变量并获取文件输入流对其赋值,用临时变量进行方法传参,方法执行完成后关闭文件输入流

Snipaste_2023-09-12_14-53-15.jpg

方法二: 使用try-with-resources语句来自动管理这些资源

Snipaste_2023-09-12_14-59-46.jpg

备注:
  1. 如果问题仍然存在,你可以考虑升级你的Tomcat和Spring版本,因为这些问题可能在新版本中已经得到了修复。
  2. 如果还有其他解决更好的方法或者上述方法不正确,劳烦指正和提出建议,谢谢啦~