下载excel,发现打不开,提示损坏。
1.文件是放在classpath 目录下:
2.查看编译后文件大小是否不一样了(或者下载下来的文件是不是和原来的不一样了)
3.解决方案
网上解决方案很多,但不是我想要的,下面这哥们的方案实测可行,我再补充清楚一些方便小白理解:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
<--在build标签下,加入以下内容,排除掉特定后缀文件不压缩 >
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.xlsx</exclude>
<exclude>**/*.docx</exclude>
<exclude>**/*.pdf</exclude>
</excludes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xlsx</include>
<include>**/*.docx</include>
<include>**/*.pdf</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
小坑后记:
文章发完了,再测试一下,我去?以不行了,这不是啪啪打面?
经过测试为原来代码这里问题,自己没认真看。
<resources>
原项目有这段,导致下载又是损坏的
<!-- <resource> -->
<!-- <directory>src/main/resources</directory> -->
<!-- <filtering>true</filtering> -->
<!-- </resource> -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>-------/mapper/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.xlsx</exclude>
<exclude>**/*.docx</exclude>
<exclude>**/*.pdf</exclude>
</excludes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xlsx</include>
<include>**/*.docx</include>
<include>**/*.pdf</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
如果解决了你的问题,请大佬们给个赞。
参考文章:
springboot访问下载/resource/static下的静态资源;下载excel文件损坏,打不开_甜无能的博客-CSDN博客_springboot下载静态资源