跳至主要內容

线上临时文件夹报错

Chihiro.Star大约 1 分钟

线上临时文件夹报错

📔 千寻简笔记介绍

千寻简文库已开源,Gitee与GitHub搜索chihiro-doc,包含笔记源文件.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.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

重新启动应用