spring boot文件上传下载
错误信息
Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up
原因描述
- spring boot 文件上传在应用启动时候会创建一个临时目录,用来存放发送的文件
- 临时目录【服务器重启/通过tmpwatch设置】自动删除
解决方案
Spring boot 设置
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("./tmp");
return factory.createMultipartConfig();
}
xml 设置
<!-- 文件上传 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- Default is ISO-8859-1 -->
<property name="defaultEncoding" value="UTF-8"/>
<!-- Default is 10240 -->
<property name="maxInMemorySize" value="10240"/>
<!-- -1 indicates no limit (the default) -->
<property name="maxUploadSize" value="100000"/>
<!-- javax.servlet.context.tempdir(the default) 临时文件存放目录,不是最终目录!-->
<property name="uploadTempDir" value="/tempdir"/>
</bean>
其他
设置tmpwatch
udo /usr/sbin/tmpwatch -afv 3 /tmp