目录

接口
@Operation(summary = "下载模板")
@GetMapping("/download")
public void downloadTempload(HttpServletResponse response) {
// 1. 定义 resource 文件路径
String resourcePath = "excel/download.xlsx";
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=template.xlsx");
ClassPathResource resource = new ClassPathResource(resourcePath);
try (InputStream inputStream = resource.getInputStream();
ServletOutputStream outputStream = response.getOutputStream()
) {
StreamUtils.copy(inputStream, outputStream);
} catch (Exception e) {
throw ExceptionUtils.newException("下载失败");
}
}
pom配置
<build>
<finalName>${project.name}</finalName>
<plugins>
<!-- maven 打包时跳过测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<finalName>${project.build.finalName}</finalName>
<mainClass>${project.groupId}.ApiApplication</mainClass>
<layers>
<enabled>true</enabled>
</layers>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<encoding>UTF-8</encoding>
<!-- 打包不对excel和word文件进行转码-->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.xlsx</include>
<include>**/*.json</include>
<!-- <include>**/*.html</include>-->
<!-- <include>**/*.js</include>-->
<!-- <include>**/*.txt</include>-->
<!-- <include>**/*.css</include>-->
</includes>
<!-- 对资源文件进行过滤。在构建过程中扫描资源文件,查找其中的占位符,并替换这些占位符为实际的值。-->
<filtering>true</filtering>
</resource>
</resources>
</build>
必定要设置pom中的resources 及nonFilteredFileExtensions的配置
resources:打包文件到jar包中
nonFilteredFileExtensions:设置不编译excel文件
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...





