使用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的中会在项目部署的所在路径创建临时文件夹,进行系统上传文件时保存临时文件。此文件夹不会被系统删除。
---------------------
作者:絜瑜
来源:CSDN
原文:https://blog.csdn.net/myd_luoyi/article/details/95853918
版权声明:本文为博主原创文章,转载请附上博文链接!