javaweb 项目,前端页面点击下载指定文件,后端执行过程。
给文件添加水印方法的代码,放在下一篇:《给指定的PDF添加水印(二)》
从服务器文件下载,自动添加水印
一、从服务器文件下载,自动添加水印
/**
* 文件下载:从服务器上下载,自动给下载的PDF添加水印
*
* @param pathName 文件名
* @param response
* @param request
*/
@RequestMapping("/getPrinting")
public void getPrinting(String pathName, HttpServletResponse response, HttpServletRequest request) {
try {
//isValidFilename():文件名称验证
if (!FileUtils.isValidFilename(pathName)) {
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", pathName));
}
//下载的文件名
String realFileName = System.currentTimeMillis() + pathName.substring(pathName.indexOf("_") + 1);
/**
* 响应参数
* setFileDownloadHeader():下载文件名重新编码
*/
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition","attachment;fileName=" + FileUtils.setFileDownloadHeader(request, realFileName));
//资源路径
String inputFile = AppConfig.getDownloadPath() + pathName;
String ou