放文件

直接把文件放到resource下的static文件夹中

看编译结果

启动之后看看是否被编译了

 访问,下载

然后在浏览器输入下面地址就能自动下载文件了

http://localhost:8002/消息模板.xlsx

注意 不用在消息模板.xlsx前面 加 /static这一层级,因为springboot默认的静态资源路径就是classpath:/resource/static

文件访问不了的解决办法

文件能下载,但是打不开

可以自己看一看,是不是原文件(static文件夹中)的大小 与 编译后(target/static文件夹中)的大小不一样,如果是,说明编译过程出现了问题

解决办法:

在pom中加上如下配置,然后mvn clean重新启动

             <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<version>2.6</version>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
					<nonFilteredFileExtensions>
						<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
					</nonFilteredFileExtensions>
				</configuration>
			</plugin>

原因就是springboot的resource目录下的文件是默认自动压缩的,所以直接下载打开会出错。

这个插件可以避免xlsx文件在resource目录下被自动压缩,这样就可以正常下载,打开了

解决办法参见:

Springboot下载Excel文件,解决文件损坏问题 - 简书

如果上述办法还不行,原因可能是:

一定要mvn clean,但是不知道为什么有时候target中的文件没被清掉,因此手动删除了一下,然后又各种build,rebuild,mvn clean才行

本来之前还尝试了一下 下面的配置,但是我这边行不通,可能是我的target没有清干净

spring-boot 下载resources 下excel xlsx文件损坏,无法打开,excel xls文件乱码_茌山之北的博客-CSDN博客

相关资源

如果要修改静态资源路径参见:

springboot配置静态资源访问路径 - 快乐的小乐 - 博客园

Springboot 之 静态资源路径配置 - ^梦幻星空^ - 博客园

如果觉得路径没问题,但是还是访问不了,可以考虑是不是拦截器的问题:

springboot 静态资源(static)无法访问问题404_aogula的博客-CSDN博客_springboot静态资源访问404

服务器端找不到路径问题:

springboot 应用中静态资源下载 - 远启 - 博客园

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐