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

相关推荐
后端小张12 小时前
[AI 学习日记] 深入解析MCP —— 从基础配置到高级应用指南
人工智能·python·ai·开源协议·mcp·智能化转型·通用协议
天青色等烟雨..12 小时前
AI+Python驱动的无人机生态三维建模与碳储/生物量/LULC估算全流程实战技术
人工智能·python·无人机
新子y12 小时前
【小白笔记】岛屿的周长(Island Perimeter)
笔记·python
小龙报12 小时前
《彻底理解C语言指针全攻略(6)-- qsort、sizeof和strlen》
c语言·开发语言·职场和发展·创业创新·学习方法·业界资讯·visual studio
郝学胜-神的一滴12 小时前
Three.js光照技术详解:为3D场景注入灵魂
开发语言·前端·javascript·3d·web3·webgl
fie888912 小时前
基于Matlab的深度堆叠自编码器(SAE)实现与分类应用
开发语言·分类
_w_z_j_13 小时前
C++11----列表初始化和initializer_list
开发语言·c++
闲人编程13 小时前
深入浅出Transformer:使用Hugging Face库快速上手NLP
python·深度学习·自然语言处理·nlp·transformer·hugging face·codecapsule
冬天的雪200813 小时前
java内存性能优化工具Mat
java·开发语言
Le1Yu13 小时前
消息队列以及RabbitMQ的使用
java·开发语言