1 public void doGet(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 doPost(request, response); 4 } 5 6 @SuppressWarnings("deprecation") 7 public void doPost(HttpServletRequest request, HttpServletResponse response) 8 throws ServletException, IOException { 9 10 11 String materia_url=request.getParameter("materia_url"); 12 String str=request.getRealPath("/")+materia_url; 13 14 try { 15 downLoad(str, response, false); 16 } catch (Exception e) { 17 18 e.printStackTrace(); 19 } 20 21 }
public void downLoad(String filePath,HttpServletResponse response,boolean isOnLine) throws Exception{ File f = new File(filePath); if(!f.exists()){ response.sendError(404,"---------File not found!"); return; } BufferedInputStream br = new BufferedInputStream(new FileInputStream(f)); byte[] buf = new byte[1024]; int len = 0; response.reset(); //非常重要 if(isOnLine){ //在线打开方式 URL u = new URL("file:///"+filePath); response.setContentType(u.openConnection().getContentType()); response.setHeader("Content-Disposition", "inline; filename="+f.getName()); //文件名应该编码成UTF-8 }else{ //纯下载方式 response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment; filename=" + f.getName()); } OutputStream out = response.getOutputStream(); while((len = br.read(buf)) >0) out.write(buf,0,len); br.close(); out.close(); }
春风如贵客,一到便繁华

浙公网安备 33010602011771号