线上临时文件夹报错Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException:

线上临时文件夹报错Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException

千寻简笔记介绍

千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个Star

更新:支持在线阅读文章,根据发布日期分类。

文章目录

  • 线上临时文件夹报错Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException
    • 千寻简笔记介绍
    • 简介
      • 本文关键词
    • 实现步骤
      • 1 原因分析
      • 2 解决方案
        • 2.1 重启应用(临时解决)
        • 2.2 配置文件指定目录(推荐使用)

简介

用户反馈,导入Excel报错了,发来了报错信息:

Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException: /tmp/undertow.xxxxx.xxxxxx/xxxxxxxx

本文关键词

Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileExceptiontmp配置文件指定目录

实现步骤

1 原因分析

​ 在inux中,tmp是临时文件;tmp是temporary的缩写,tmp目录的作用就是存放临时文件,tmp目录会默认清理指定天数未用的文件,系统重启会清空目录,“/tmp”目录默认清理10天未用的文件,“/var/tmp”目录默认清理30天未用的文件。

​ 文件夹不存在导致问题的发生,下面给出两种解决方案,提供给大家选择。

2 解决方案

2.1 重启应用(临时解决)

SpringBoot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。

2.2 配置文件指定目录(推荐使用)
# 临时文件存储位置 避免临时文件被系统清理报错
spring.servlet.multipart.location: /ruoyi/server/temp

进入服务器创建文件夹

mkdir -p /ruoyi/server/temp

重新启动应用

你可能感兴趣的:(Java,servlet,java,开发语言)