5238a53796f6812aa06ddb634f2b2fd911ac2727.svn-base 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package cn.com.goldenwater.dcproj.config;
  2. import org.springframework.stereotype.Component;
  3. import org.springframework.web.servlet.HandlerInterceptor;
  4. import org.springframework.web.servlet.ModelAndView;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.io.PrintWriter;
  8. @Component
  9. public class PdfHeaderInterceptor implements HandlerInterceptor {
  10. @Override
  11. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  12. if(request.getRequestURI().contains(".jsp") && request.getRequestURI().contains("/upload")){
  13. response.setCharacterEncoding("UTF-8");
  14. response.setContentType("application/json;charset=utf-8");
  15. PrintWriter printWriter = response.getWriter();
  16. printWriter.write("已被系统禁止!");
  17. return false;
  18. }
  19. if (request.getRequestURI().endsWith(".pdf") || request.getRequestURI().endsWith(".PDF")) {
  20. String filename = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/")+1);
  21. // 添加Header,例如:Content-Disposition: attachment; filename="download.pdf"
  22. response.setHeader("Content-Disposition", "attachment; filename="+filename);
  23. }
  24. return true;
  25. }
  26. //
  27. // @Override
  28. // public void postHandle(HttpServletRequest request,
  29. // HttpServletResponse response, Object handler,
  30. // ModelAndView modelAndView) throws Exception {
  31. // }
  32. // @Override
  33. // public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
  34. // // 检查请求的URL是否以.pdf结尾
  35. // if (request.getRequestURI().endsWith(".pdf") || request.getRequestURI().endsWith(".PDF")) {
  36. // String filename = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/")+1);
  37. // // 添加Header,例如:Content-Disposition: attachment; filename="download.pdf"
  38. // response.setHeader("Content-Disposition", "attachment; filename="+filename);
  39. // }
  40. // }
  41. }