异步解析文件报错 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("文件解析中,请稍后");
    }
posted @   好事的猫  阅读(891)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示