Linux系统SpringBoot项目文件上传遇到The temporary upload location is not valid问题解决

2022-02-15 808点热度 0人点赞 0条评论

问题描述

SrpingBoot的项目,最近发现一个问题,部署到Linux服务器后,运行了一段时间后,上传文件的时候,出现这个错误:

org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.123456/work/Tomcat/localhost/ROOT] is not valid

到服务器上查了确实没有那个/tmp/tomcat.123456目录(数字是随机生成的)

问题解决

application.properties(或application.yml,稍作修改)增加配置文件项,如下:

server.tomcat.basedir=/tmp/tomcat

application.yml

server:
    # 服务器的HTTP端口,默认为80
    port: 80
    servlet:
        # 应用的访问路径
        context-path: /
    tomcat:
        # tomcat的URI编码
        uri-encoding: UTF-8
        # tomcat最大线程数,默认为200
        max-threads: 800
        # Tomcat启动初始化的线程数,默认值25
        min-spare-threads: 30
        basedir: /tmp/tomcat

以上配置给springboot的tomcat指定路径,因为如果不指定,系统自动生成/tmp/tomcat.123456这样的临时路径,可能过一阵子会被Linux系统自动清理掉。

还碰到一个类似这个临时文件引起的问题:SpringBoot的MVC打包后的jar包在Linux上运行一段时间后,报错JSP: ClassNotFoundException问题解决

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论