PDF预览
@RequestMapping(value = "/preview")
public void showPdf(HttpServletResponse response) {
try {
String filePath = "E:\\歌\\2022_420300_1716900370656\\监督\\2_关于加强取的通知.pdf";
File file = new File(filePath);
FileInputStream fileInputStream = new FileInputStream(file);
response.setHeader("Content-Type", "application/pdf");
OutputStream outputStream = response.getOutputStream();
IOUtils.write(IOUtils.toByteArray(fileInputStream), outputStream);
} catch(Exception e) {
e.printStackTrace();
}
}
参考文章
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/79e397f0f1024b9489eede7cbd042ad4.png)
视频预览
@GetMapping("/download")
public void download(HttpServletResponse response) throws IOException {
File file = new File("/Users/zxk/Movies/1.2G.mp4");
response.setContentType("video/mp4;charset=utf8");
response.setHeader("Content-Disposition", "attachment;filename=" + file.getName());
response.setHeader("Content-Disposition", "inline");
response.setContentLengthLong(file.length());
try (InputStream inputStream = new FileInputStream(file);
OutputStream outputStream = response.getOutputStream()
) {
IOUtils.copy(inputStream, outputStream);
}
}
参考文章
图片预览
@ApiOperation("访问文件")
@GetMapping("/download/{name}")
public void getImage(HttpServletResponse response, @PathVariable("name") String name) throws IOException {
String path = upload;
String imagePath = path + File.separator + name;
if (!new File(imagePath).exists()) {
return;
}
if (name.endsWith("jpg") || name.endsWith("png") || name.endsWith("gif") || name.endsWith("jpeg")) {
response.setContentType("image/jpeg;charset=utf-8");
}else {
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "inline; filename=" + URLEncoder.encode(name, "UTF-8"));
}
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(Files.readAllBytes(Paths.get(path).resolve(name)));
outputStream.flush();
outputStream.close();
}
参考文章
整合
@GET
@Path("preview/{fileId}")
public void preview(@PathParam("fileId") String fileId) throws IOException {
HttpServletResponse response = this.getResponse();
Map<String, Object> map = fileService.getFile(fileId);
String filePath = map.get("FILE_PATH").toString();
File file1 = new File(filePath);
String path = file1.getParentFile().getPath();
String name = map.get("FILE_NAME").toString();
if (name.endsWith("pdf")) {
try {
File file = new File(filePath);
FileInputStream fileInputStream = new FileInputStream(file);
response.setHeader("Content-Type", "application/pdf");
OutputStream outputStream = response.getOutputStream();
IOUtils.write(IOUtils.toByteArray(fileInputStream), outputStream);
} catch (Exception e) {
e.printStackTrace();
}
} else if (name.endsWith("jpg") || name.endsWith("png") || name.endsWith("gif") || name.endsWith("jpeg")) {
response.setContentType("image/jpeg;charset=utf-8");
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(Files.readAllBytes(Paths.get(path).resolve(name)));
outputStream.flush();
outputStream.close();
} else if (name.endsWith("mp4")) {
File file = new File(filePath);
response.setContentType("video/mp4;charset=utf8");
response.setHeader("Content-Disposition", "attachment;filename=" + name);
response.setHeader("Content-Disposition", "inline");
response.setContentLengthLong(file.length());
try (InputStream inputStream = new FileInputStream(file);
OutputStream outputStream = response.getOutputStream()
) {
IOUtils.copy(inputStream, outputStream);
}
} else {
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "inline; filename=" + URLEncoder.encode(name, "UTF-8"));
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(Files.readAllBytes(Paths.get(path).resolve(name)));
outputStream.flush();
outputStream.close();
}
}