springBoot文件上传问题

使用springBoot进行文件上传时,系统抛出异常信息:java.io.IOException: The temporary upload location [/tmp/tomcat.7678703764679158021.8085/work/Tomcat/localhost/ROOT] is not valid, 不是有效的文件路径,

可能的原因有两种:1.系统启动时未创建临时文件,或所创建的临时文件在一定时间内被删除。2.临时文件存在,但是没有当前系统用户所访问的权限。

我的解决方案:手动创建上传文件时所使用的临时文件夹。在启动类中进行MultipartConfigElement 的bean创建。

代码如下:

/**
 * 文件上传临时路径
 */
@Bean
public MultipartConfigElement multipartConfigElement() {
   String location = System.getProperty("user.dir") + "/data/tmp";
   File file = new File(location);
   file.setWritable(true, false);
   if (!file.exists()) {
      file.mkdirs();
   }
   MultipartConfigFactory factory = new MultipartConfigFactory();
   factory.setLocation(location);
   return factory.createMultipartConfig();
}

在linux的中会在项目部署的所在路径创建临时文件夹,进行系统上传文件时保存临时文件。此文件夹不会被系统删除。

猜你喜欢

转载自blog.csdn.net/myd_luoyi/article/details/95853918
今日推荐