easyexcel 导入导出

Caused by: java.lang.IllegalStateException: java.nio.file.NoSuchFileException: /tmp/917b5799-7080-4e92-a191-11373632589e/poifiles/poi-sxssf-sheet5775847353710241119.xml

at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:696)

at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:273)

at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:237)

at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:212)

at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:187)

at com.alibaba.excel.util.WorkBookUtil.createWorkBook(WorkBookUtil.java:40)

at com.alibaba.excel.context.WriteContextImpl.<init>(WriteContextImpl.java:96)

... 135 common frames omitted

原因分析:

在 Linux 系统中,Spring Boot 应用以 java -jar 命令启动时,会在操作系统的 /tmp 目录下生成一个 tomcat(或 undertow )临时目录,上传的文件先要转换成临时文件保存在这个文件夹下面。由于临时 /tmp 目录下的文件,在长时间(10天)没有使用的情况下,系统执行了 tmp 目录清理服务(systemd-tmpfiles-clean.service),导致 /tmp/undertow...8090 文件被清理,然而在上传的时候,undertow 服务器需要创建/tmp/undertow...8090/undertow...upload 临时文件,但是调用 Files.createFile(...) 的时候就会发现找不到父目录,才导致了以上的错误。

解决方案:

在项目中 applicaiton.yml 中添加配置 :

spring:

servlet:

multipart:

location: /home/tmp

手动指定目录后,必须保证该目录存在,并有读写的权限,创建该目录 mkdir -p /home/tmp

原文链接:https://blog.csdn.net/qq_41814311/article/details/127191377

相关推荐
火山灿火山1 分钟前
Qt信号和槽
开发语言·qt
这样の我7 分钟前
java 模拟chrome tls指纹
java·开发语言·chrome
m0_661279188 分钟前
学习笔记-安装并启动 Jupyter Noteboo
开发语言·python
代码or搬砖8 分钟前
常见的五个编译时异常和常见的五个编译时异常
开发语言·php
xwill*8 分钟前
3D-GENERALIST: Vision-Language-Action Models for Crafting 3D Worlds
人工智能·pytorch·python·深度学习
serve the people10 分钟前
tensorflow tf.Module 的检查点Checkpoint机制
人工智能·python·tensorflow
gCode Teacher 格码致知11 分钟前
Python 3.8.8环境下离线安装python-docx的完整方案-由Deepseek产生
python
烽火聊员12 分钟前
SSLSocket 服务器端WPF C#测试代码
开发语言·c#·wpf·ssl
茉莉玫瑰花茶13 分钟前
ProtoBuf - 1 - 下载和环境配置
开发语言·c++·protobuf
哈里谢顿14 分钟前
Python 开发中最常见的错误大全(含 JSON 专项解析)
python