Spring Boot设置io临时目录

        在部署springboot项目,使用MultipartFile上传文件会出现以下异常

Failed to parse multipart servlet request; nested exception is java.io.IOException: 
The temporary upload location [/tmp/tomcat.3016596448718765136.18001/work/Tomcat/localhost/xx] is not valid"

        出现这种情况的原因是由于在部署项目的时候没有指定应用的临时io目录,spring会直接使用操作系统的临时目录,而操作系统的临目录会在一定的周期类回收,导致隔一段时间后上传文件会出现上述问题。

         解决上述文件有很多种方式,根据网友经验,总结以下四种设置临时目录的方法:

一、配置tomcat的basedir

server:
  tomcat:
    basedir: /usr/local/temp

二、配置multipart的location

spring:
  servlet:
    multipart:
      location: /usr/local/temp

三、启动jar指定tmpdir

java -jar  -Djava.io.tmpdir=/usr/local/temp  xxx.jar

四、编码注入

@Bean
public MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("/usr/local/temp");
    return factory.createMultipartConfig();
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以回答关于Spring Boot的问题或者给你一个简单的介绍。 Spring Boot是一个用于快速构建基于Spring框架的Java应用程序的开源框架。它简化了Spring应用程序的配置和部署过程,提供了一种约定大于配置的方式来开发应用程序。以下是一些关于Spring Boot的常见问题及其答案: 1. Spring Boot是什么? Spring Boot是一个用于快速构建基于Spring框架的Java应用程序的开源框架。它通过自动配置和约定大于配置的原则,简化了Spring应用程序的开发和部署过程。 2. Spring Boot有哪些特点? - 简化配置Spring Boot通过自动配置和默认值,减少了繁琐的配置工作。 - 内嵌服务器:Spring Boot可以将应用程序打包成可执行的JAR文件,并内嵌一个Servlet容器,如Tomcat或Undertow。 - 自动装配:Spring Boot根据类路径中的依赖自动配置应用程序。 - 健康检查:Spring Boot提供了健康检查功能,可以监控应用程序的运行状态。 - 简化部署:Spring Boot可以将应用程序打包成独立的可执行文件,方便部署和分发。 3. 如何创建一个Spring Boot应用程序? 创建一个Spring Boot应用程序非常简单。你可以使用Spring Initializr(https://start.spring.io/)来生成一个基本的Spring Boot项目结构,然后根据需要添加依赖和编写代码。 4. Spring BootSpring框架有什么关系? Spring Boot是建立在Spring框架之上的,它简化了Spring应用程序的开发和部署过程。Spring Boot提供了自动配置、内嵌服务器等功能,使得开发者可以更加专注于业务逻辑的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值