java springboot27 写一个本地 pdf 预览的接口,java怎么写一个接口
墨初 知识笔记 71阅读
依赖方面 创建的是 接口web项目就好了
然后包管理工具打开需要这些

import org.springframework.core.io.FileSystemResource;import org.springframework.core.io.Resource;import org.springframework.http.HttpHeaders;import org.springframework.http.MediaType;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.io.File;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;
然后 例如这里我要预览 本地 E盘下的 ydzxmgf下的git分支管理规范.pdf文件 就可以这样写
GetMapping(/pdf) public ResponseEntity<Resource> previewPdfFile() throws IOException { // 指定文件路径 String filePath E:/ydzxmgf/git分支管理规范.pdf; // 创建文件资源 File file new File(filePath); Path path Paths.get(file.getAbsolutePath()); Resource resource new FileSystemResource(file); // 设置响应头 HttpHeaders headers new HttpHeaders(); headers.add(HttpHeaders.CONTENT_DISPOSITION, inline; filename file.getName()); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_PDF_VALUE); // 返回响应实体 return ResponseEntity.ok() .headers(headers) .contentLength(file.length()) .contentType(MediaType.APPLICATION_PDF) .body(resource); }
然后在浏览器上访问接口
就达到这个预览的效果了

标签: