1、GitHub免费开源项目
地址:https://github.com/kekingcn/kkFileView
2、下载地址
地址:https://gitee.com/kekingcn/file-online-preview/releases
3、实现代码
/**
* 线上预览使用 为预览服务器提供下载流
*
* @param fileMessage
* @return
*/
@GetMapping("/onlineDownloadFile")
public String onlineDownloadFile(FileMessage fileMessage) {
// 获取HttpServletResponse
HttpServletResponse response =
((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
String route = fileMessage.getFileRoute();
String fileName = fileMessage.getFullfilename();// 文件名
if (fileName != null && route != null) {
// 设置文件路径
File file = new File(fileMessage.getFileRoute() + "/" + fileName);
if (file.exists()) {
// 设置HTTP响应头
response.reset();
try {
OutputStream os = response.getOutputStream();
// 读取文件
InputStream in = new FileInputStream(file);
// copy文件
IOUtils.copy(in, os);
in.close();
os.close();
return "下载成功";
} catch (Exception e) {
e.printStackTrace();
}
}
}
return "下载失败";
}