代码改变世界
[登录 · 注册]
  • springboot中多线程中使用MultipartFile进行异步操作报错,系统找不到指定的文件
  • springboot中多线程中使用MultipartFile进行异步操作报错,系统找不到指定的文件

    首先前端传递过来的文件,会存储到临时文件夹中,即类似这样的一个路径。

    C:UsersxxxAppDataLocalTemptomcat.6131519677783180826.8056workTomcatlocalhostROOT

    但是异步执行的时候,主线程结束,临时文件就会被清空了,所以会报错: 

    java.io.FileNotFoundException: C:UsershwqAppDataLocalTemp	omcat.6131519677783180826.8056workTomcatlocalhostROOTupload_85d787c3_6037_4ea2_a7f9_54ac3a19b461_00000011.tmp (系统找不到指定的文件。)

    需要转换为流来进行操作

    1. @RequestMapping("/add")
    2. public String addRecordDetail(@RequestParam("file") MultipartFile file, @ModelAttribute FormDetail formDetail) throws IOException {
    3. String fileName = buildFileName(file);
    4. InputStream inputStream = file.getInputStream();
    5. RecordDetailThreadMange detailThreadMange = new RecordDetailThreadMange(inputStream,formDetail,fileName);
    6. threadPoolService.addThreadPoolTask(detailThreadMange);
    7. logger.debug("============>run next process,当前线程名称:{}",Thread.currentThread().getName());
    8. return "true";
    9. }

    原文地址:https://blog.csdn.net/javadream007/article/details/102566585

  • 上一篇:springboot项目上传文件出现临时文件目录为空
    下一篇:java获取本机IP
  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文:https://www.cnblogs.com/jpfss/p/12193163.html
走看看 - 开发者的网上家园