Java实现文件(图片)的预览和下载
@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();
}
注意:踩过的坑,文件名不可以带好,带会报java.io.FileNotFoundException