异步解析文件报错 NoSuchFileException
问题描述:同步上传解析文件超时,修改为异步解析后找不到 文件
java.nio.file.NoSuchFileException
原因:异步文件上传,主线程结束后,临时目录的文件会被清理掉,子线程此时确实找不到文件
解决方式:获取文件输入流处理
示例:
public R uploadExcel(@RequestParam MultipartFile file,
@RequestHeader(value = "unified_code") String unifiedCode) {
// 保存文件信息
AsyncHandleFile handleFile = new AsyncHandleFile();
handleFile.setFileType(1);
handleFile.setFileName(file.getOriginalFilename());
handleFile.setOriginalRegCode(unifiedCode);
handleFileService.saveTAsyncHandleFile(handleFile);
InputStream inputStream = file.getInputStream();
try {
CompletableFuture.runAsync(() -> {
log.info("文件解析开始 ");
corpService.uploadExcel(inputStream, unifiedCode, handleFile);
log.info("文件解析结束");
});
} catch (Exception e) {
log.error(e.toString());
}
return R.ok("文件解析中,请稍后");
}
本文来自博客园,作者:杯酒-故人,转载请注明原文链接:https://www.cnblogs.com/BeiJiuGuRen/p/16022898.html