JAVA下载Excel文件之后无法打开,提示损坏

resources 目录下放模板 excel 文件,通过接口下载后,可以正常下载,但打不开。

问题: springboot 项目简单的下载excel 模板功能,模板放在resources/template/目录中

java 复制代码
public void downloadItemBatch(HttpServletResponse response) throws IOException {
        String fileName = "商品信息.xlsx";
        String path = "templates/" + fileName;
        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(path);
        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
        ServletOutputStream outputStream = response.getOutputStream();
        IOUtils.copy(inputStream, outputStream);
        outputStream.flush();
        outputStream.close();
        inputStream.close();
    }

代码挺简单,一运行,也挺顺利,很快就把文件下好了。点开看看,提示我可能是内存不足,文件无法打开,而且下载的文件比templates里的文件要大。

看了很多帖子,试了很多方法,最后发现,pom文件里加个东西就行了

XML 复制代码
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>2.7</version>
	<configuration>
		<nonFilteredFileExtensions>
			<!--不加这一行,xlsx文件会被过滤,然后在maven build的时候,去target下看对应的xlsx就是损坏的-->
			<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
		</nonFilteredFileExtensions>
	</configuration>            
</plugin>

解决:maven 构建时对该 excel 模板进行了过滤,导致文件损坏,解决办法,在过滤的时候把 xlsx 排除掉(<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>)。

相关推荐
凌冰_1 分钟前
Java Collections 类中常用方法使用
java·开发语言
jz_ddk3 分钟前
[实战]多天线空域抗干扰技术:原理、数学推导与工程仿真(完整仿真代码)
python·算法·毕业设计·信号处理
我是坑货12 分钟前
maven的项目管理和构建生命周期
java·log4j·maven
遥不可及~~斌1 小时前
基于Redis实现短信防轰炸的Java解决方案
java·数据库·redis
船长@Quant1 小时前
VectorBT量化入门系列:第三章 VectorBT策略回测基础
python·量化策略·sklearn·ta-lib·量化回测·vectorbt
AronTing1 小时前
300%性能提升!CompletableFuture异步编排四大核心模式与避坑指南
java·后端·安全
拖拉机1 小时前
Python(三)操作列表
后端·python
java奋斗者1 小时前
基于Java的人脸识别在线考试系统(jsp+springboot+mysql8.x)
java·开发语言·spring boot
维度攻城狮2 小时前
高效创建工作流,可实现类似unreal engine的蓝图效果,内部使用多线程高效执行节点函数
python·游戏引擎·开源软件·虚幻·graph·工作流
MiyamiKK572 小时前
leetcode_数组 189. 轮转数组
python·算法·leetcode·职场和发展