springboot的文件上传

待总结

解决异常:The temporary upload location is not valid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 解决异常:The temporary upload location is not valid
* http://wuzhaoyang.me/2017/06/07/spring-multipartexception-location-not-valid.html
* 前端Ajax上传一张图片,服务端将文件流临时保存在文件夹里(这个文件夹由spring boot在启动的时候新建)。
* /tmp文件夹的有自动cleanup机制,/tmp文件夹的文件10天未更新会被移除,/var/tmp文件夹的文件是30天。
* 思路:指定目录,将防止文件夹被自动删除。
* @return
*/
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
String absolutePath = new File("").getAbsolutePath();
logger.info("absolutePath ===== {}", absolutePath);
String location = absolutePath + "/data/tmp";
File file = new File(location);
if (!file.exists()) {
boolean mkdirs = file.mkdirs();
logger.info("创建文件夹({}):{}", location, mkdirs);
} else {
logger.info("SpringBoot内置Tomcat缓存文件目录:{}", location);
}
factory.setLocation(location);
return factory.createMultipartConfig();
}

文章目录
|