线上临时文件夹报错Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException
📔 千寻简笔记介绍
千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes
,包含笔记源文件.md
,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个Star
~
更新:支持在线阅读文章,根据发布日期分类。
@[toc]
简介
用户反馈,导入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.NoSuchFileException
、tmp
、配置文件指定目录
实现步骤
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
重新启动应用