package cn.com.goldenwater.dcproj.config; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; @Component public class PdfHeaderInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if(request.getRequestURI().contains(".jsp") && request.getRequestURI().contains("/upload")){ response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter printWriter = response.getWriter(); printWriter.write("已被系统禁止!"); return false; } if (request.getRequestURI().endsWith(".pdf") || request.getRequestURI().endsWith(".PDF")) { String filename = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/")+1); // 添加Header,例如:Content-Disposition: attachment; filename="download.pdf" response.setHeader("Content-Disposition", "attachment; filename="+filename); } return true; } // // @Override // public void postHandle(HttpServletRequest request, // HttpServletResponse response, Object handler, // ModelAndView modelAndView) throws Exception { // } // @Override // public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // // 检查请求的URL是否以.pdf结尾 // if (request.getRequestURI().endsWith(".pdf") || request.getRequestURI().endsWith(".PDF")) { // String filename = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/")+1); // // 添加Header,例如:Content-Disposition: attachment; filename="download.pdf" // response.setHeader("Content-Disposition", "attachment; filename="+filename); // } // } }