项目场景:
导入大量excel数据效率过慢,采用异步导入,提升导入效率;先将导入成功返回给用户,后台可继续处理数据。
问题描述
代码在本地可正常使用,但在测试环境中,前端测试发现,数据无法导入。
原因分析:
由于前端传入的文件会存在临时文件夹中
如果是单线程即可正常使用
但是,当多线程调用时,一次调用结束后,主线程也随之结束,最后会清空临时文件,导致系统报错,既找不到指定文件
解决方案:
可将读取excel的代码从多线程中提出来,在主线程中转换获取文件流信息
InputStream is = file.getInputStream();
参考文献
https://blog.youkuaiyun.com/csdn565973850/article/details/106575090