Springboot中图片上传报java.io.FileNotFoundException: C:\Users\WIzarder\AppData\Local\Temp\tomcat.8080.589
Springboot图片上传中用MultipartFile接受文件,上传报错java.io.FileNotFoundException: C:\Users\WIzarder\AppData\Local\Temp\tomcat.8080.5893235156551690444\
原因:MultipartFile在调用方法transferTo把文件上传到指定的路径后,会自动关闭这个流,后面无法再调用这个方法。因此需要用异步方法处理一下
解决:用异步方法来上传可以解决
1 @PostMapping("/upload") 2 public String upload(@RequestParam("email") String email, 3 @RequestParam("password") String password, 4 @RequestPart("headimg")MultipartFile multipartFile, 5 @RequestPart("lifeimg")MultipartFile[] multipartFiles) throws IOException { 6 int length = multipartFiles.length; 7 log.info("email={},password={},headImg={},lifeImg{}",email,password,multipartFile.getSize(), 8 multipartFiles.length); 9 uoloadImg(multipartFile,multipartFiles);//用异步方法来上传完美解决 10 11 return "index"; 12 } 13 @Async 14 public void uoloadImg(MultipartFile head,MultipartFile[] photos) throws IOException { 15 if (photos.length > 0){ 16 for (MultipartFile file : photos) { 17 if (!file.isEmpty()){ 18 String originalFilename = file.getOriginalFilename(); 19 file.transferTo(new File("G:\\上传图片\\"+originalFilename)); 20 } 21 22 } 23 } 24 if (!head.isEmpty()){ 25 String originalFilename = head.getOriginalFilename(); 26 head.transferTo(new File("G:\\上传图片\\" + originalFilename)); 27 } 28 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具