下載

 

  1. package cn.lxl.servlet;  
  2.  
  3. import java.io.File;  
  4. import java.io.FileInputStream;  
  5. import java.io.IOException;  
  6. import java.io.InputStream;  
  7. import java.io.OutputStream;  
  8. import java.net.URLEncoder;  
  9.  
  10. import javax.print.DocFlavor.URL;  
  11. import javax.servlet.ServletException;  
  12. import javax.servlet.http.HttpServlet;  
  13. import javax.servlet.http.HttpServletRequest;  
  14. import javax.servlet.http.HttpServletResponse;  
  15.  
  16. public class Servlet4 extends HttpServlet {  
  17.     private static final long serialVersionUID = 1L;  
  18.  
  19.     public Servlet4() {  
  20.         super();  
  21.     }  
  22.  
  23.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  24.             throws ServletException, IOException {  
  25.  
  26.         response.setHeader("Content-Type""text/html;charset=utf-8");  
  27.         response.setCharacterEncoding("utf-8");  
  28.  
  29.         // 取得文件路徑  
  30.         String path = this.getServletContext().getRealPath(  
  31.                 File.separator + "download" + File.separator + ".大漠風情if");  
  32.         // 取得文件名稱  
  33.         String name = path.substring(path.lastIndexOf(File.separator) + 1);  
  34.         /*  
  35.          *   
  36.          * @param Content-Disposition 激活文件下載對話框  
  37.          *   
  38.          * @param attachment:filename 用這個文件自動填充文件名框  
  39.          */ 
  40.         response.setHeader("Content-Disposition""attachment;filename=" 
  41.                 + URLEncoder.encode(name, "utf-8"));  
  42.  
  43.         InputStream in = null;  
  44.         OutputStream os = null;  
  45.         byte[] b = new byte[1024*1024];  
  46.         int len = 0;  
  47.  
  48.         in = new FileInputStream(path);  
  49.         os = response.getOutputStream();  
  50.         while ((len = in.read()) > 0) {  
  51.             os.write(b, 0, len);  
  52.         }  
  53.     }  
  54.  
  55.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  56.             throws ServletException, IOException {  
  57.  
  58.     }  
  59.  
  60. }  
  61.  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章