Springboot 项目下载资源目录下的 Word 文件

java 复制代码
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.core.io.InputStreamResource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class FileController {

    private final ResourceLoader resourceLoader;

    @Autowired
    public FileController(ResourceLoader resourceLoader) {
        this.resourceLoader = resourceLoader;
    }

    @GetMapping("/downloadWord")
    public ResponseEntity<InputStreamResource> downloadWord() throws IOException {
        Resource resource = resourceLoader.getResource("classpath:templates/word.docx");
        InputStream inputStream = resource.getInputStream();
        InputStreamResource inputStreamResource = new InputStreamResource(inputStream);

        HttpHeaders headers = new HttpHeaders();
        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=word.docx");

        return ResponseEntity.ok()
                .headers(headers)
                .contentType(MediaType.parseMediaType("application/msword"))
                .body(inputStreamResource);
    }
}
相关推荐
后端小张19 小时前
【JAVA 进阶】Spring Boot 注解体系与工程实践
java·开发语言·spring boot·后端·spring·spring cloud·java-ee
9号达人19 小时前
接口设计中的扩展与组合:一次Code Review引发的思考
java·后端·面试
百***628519 小时前
oracle 12c查看执行过的sql及当前正在执行的sql
java·sql·oracle
键来大师19 小时前
Android15 源码关闭Selinux
android·java·framework·rk3588
合作小小程序员小小店19 小时前
桌面开发,在线%日记本,日历%系统开发,基于eclipse,jdk,java,无数据库
java·数据库·eclipse·jdk
拾忆,想起19 小时前
Dubbo线程模型全解析:提升微服务性能的底层逻辑
java·数据库·微服务·架构·dubbo·哈希算法
论迹19 小时前
【JavaEE】-- IoC & DI
java·java-ee
lzj201419 小时前
Spring AI使用知识库增强对话功能
java
大头an19 小时前
Spring 6 & Spring Boot 3新特性:事务管理的革新
java
Ro Jace19 小时前
三国华容道(横刀立马)移动策略
android·java·数据库·人工智能·深度学习·神经网络·游戏