错误提示:The temporary upload location ***is not valid
错误原因:
在运行springboot时 ,长时间运行后报错 the temporary uplaod location *** is not valid 查过资料后发现是操作系统对‘/temp’下文件自动清理的原因。 在springboot项目启动后 系统会在‘/temp’目录下创建几个目录 用于上传文件。因此清理过‘/temp’下文件后无法上传。
解决办法:
1、 重启服务; (不推荐)
2、自己创建一个临时文件夹(不推荐,重启后不对应)
3、 改变临时文件的存储路径
代码语言:javascript复制import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.MultipartConfigElement;
import java.io.File;
/**
* @Author: Liu Yue
* @Descripition:
* @Date; Create in 2021/7/14 15:29
**/
@Configuration
public class MultipartConfig{
@Value("${hake.file.projectPathTmp}")
private String projectPathTmp;
/**
*文件临时上传路径
*/
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
String location = projectPathTmp; //指定一个固定的临时文件路径
File tmpFile =new File (location);
if(!tmpFile.exists()){
tmpFile.mkdirs();
}
factory.setLocation(location);
return factory.createMultipartConfig();
}
}
测试的时候,可以打断点,能看到临时文件再上传的时候存在,上传完成后,自动清除。
每天进步一点点!!!