java.nio.file.NoSuchFileException: /tmp/undertow.16455720892598256073.8086/u

项目环境

centos7 + springboot

问题

放假回来后上传文件报文件夹不存在错误。项目用的undertow,据说tomcat也有同样的问题。

解决方案

application.yml文件添加

spring:
  servlet:
    multipart:
      location: ${java.io.tmpdir}

原因

以java -jar方式启动的项目会创建一个文件夹存放临时文件,默认位置就在${java.io.tmpdir}下。操作系统会根据规则定期清理${java.io.tmpdir}下的文件。

tips

  1. ${java.io.tmpdir}自行百度或测试,系统不一样路径也不一样
 public static void main(String[] args) {
        System.out.println(System.getProperty("java.io.tmpdir"));
    }
  1. 原来上传后的临时文件会立马删除
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。