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);
    }
}
相关推荐
怒放吧德德2 分钟前
RocketMQ从实战到源码:初识RocketMQ
java·后端·rocketmq
怎么就重名了13 分钟前
Kivy的属性系统
java·前端·数据库
daidaidaiyu14 分钟前
一文入门 Spring Security with 单点登录(jasig)
java·spring
哈哈老师啊29 分钟前
Springboot就业管理系统bk5uv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·spring boot·spring
chao18984429 分钟前
基于C#实现Modbus通信及CRC校验
java·开发语言·c#
hunjinYang30 分钟前
源码配置——基于Gradle搭建spring-framework-6.2.15版本阅读环境
java·后端·spring
编程饭碗32 分钟前
【Spring全局异常处理 早抛晚捕】
java·数据库·spring
咸鱼2.034 分钟前
【java入门到放弃】Elasticsearch概念
java·elasticsearch·jenkins
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于JSP论坛系统设计与实现为例,包含答辩的问题和答案
java·开发语言
找不到、了1 小时前
系统常用的限流方案实践
java