遇见java.nio.file.NoSuchFileException:处理方式
java.nio.file.NoSuchFileException解决方式
·
问题原因:
业务: 将文件上传后,因为需要处理的内容很多,所以构建了一个异步线程去处理文件,文件处理的结果通知会已消息的方式发送给用户。
原因: 异步文件上传,主线程结束后,临时目录的文件会被清理掉,子线程此时确实找不到文件。
问题写法:
在Controller中:
@PostMapping("/upLoadExperts")
public R<Boolean> upLoadExperts(@Param("file") MultipartFile file) {
iTcSysUserModuleService.upLoadExperts(file);
return R.ok("success", true);
}
在Service中:
@Async
@Override
public Boolean upLoadExperts(MultipartFile file) {
ExcelReaderBuilder read = EasyExcel.read(file.getInputStream());
return true;
}
正确写法
在Controller中:
@PostMapping("/upLoadExperts")
public R<Boolean> upLoadExperts(@Param("file") MultipartFile file) {
iTcSysUserModuleService.upLoadExperts(file.getInputStream());
return R.ok("success", true);
}
在Service中:
@Async
@Override
public Boolean upLoadExperts(InputStream inputStream) {
ExcelReaderBuilder read = EasyExcel.read(inputStream);
return true;
}
更多推荐
已为社区贡献3条内容
所有评论(0)