spring boot文件上传下载找不到临时目录

本文详细解析了SpringBoot中文件上传下载时遇到的“Could not parse multipart servlet request”错误,介绍了临时目录的创建与自动删除机制,并提供了两种解决方案:一是通过SpringBoot设置自定义的MultipartConfigElement;二是XML配置方式,包括设置默认编码、内存限制、上传大小限制及临时文件目录。

spring boot文件上传下载

错误信息

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up

原因描述

  1. spring boot 文件上传在应用启动时候会创建一个临时目录,用来存放发送的文件
  2. 临时目录【服务器重启/通过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 

转载于:https://my.oschina.net/xForMe/blog/3001049

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值