<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    neverend的日志

    不記錄,終將被遺忘。 一萬年太久,只爭朝夕。 他們用數字構建了整個世界。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      62 Posts :: 1 Stories :: 17 Comments :: 0 Trackbacks
    昨天做了一個Servlet,實現文檔下載功能。
    文檔路徑:C:\test\temp.doc
    package Servlet;

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;

    public class Download extends HttpServlet{
     
    private static int DEFAULT_BUFFER_SIZE=1024*4;
     
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
      response.setContentType(
    "text/html");
      response.setCharacterEncoding(
    "GB2312");
      PrintWriter out
    =response.getWriter();
      out.println(
    "<HTML>");
      out.println(
    "<HEAD>");
      out.println(
    "<TITLE>");
      out.println(
    "下載");
      out.println(
    "</TITLE>");
      out.println(
    "</HEAD>");
      out.println(
    "<BODY>");
      out.println(
    "<form method=\"post\" action=\"download?file=c:\\test\\temp.doc\">");
      out.println(
    "<h2>請單擊下載按鈕下載文件</h2>");
      out.println(
    "<input type=\"submit\" value=\"下載\">");
      out.println(
    "</form>");
      out.println(
    "</BODY>");
      out.println(
    "</HTML>");
      out.close();
     }
     
    public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
      String fileName
    =(String)request.getParameter("file");
      ServletOutputStream output
    =null;
      FileInputStream input
    =null;
      File file
    =new File(fileName);
      
    if(!file.exists())
       
    throw new IOException("文件不存在");
     
    try{
      response.setHeader(
    "Content-disposition""attachment;filename=temp.doc");
      response.setContentType(
    "application/msword");
      response.setContentLength((
    int)file.length());
      output
    =response.getOutputStream();
      input
    =new FileInputStream(file);
      copy(input,output);
     }
    catch(IOException e){e.printStackTrace();}
      
    finally{if (output!=null)
       output.close();
      
    if(input!=null)
       input.close();
      }
      
     }
     
    private static int copy(InputStream input,OutputStream output)throws IOException{
      
    byte[] buffer=new byte[DEFAULT_BUFFER_SIZE];
      
    int count=0;
      
    int n=0;
      
    while(-1!=(n=input.read(buffer))){
       output.write(buffer, 
    0, n);
       count
    +=n;
      }
     
    return count;
     }
    }

    Servlet配置信息如下:
    <servlet>    
      <servlet-name>Download</servlet-name>    
      <display-name>download</display-name>    
      <description>A   Download Servlet</description>    
      <servlet-class>Servlet.Download</servlet-class>    
     </servlet>    
     <servlet-mapping>    
      <servlet-name>Download</servlet-name>    
      <url-pattern>/download</url-pattern>    
     </servlet-mapping>

    需要注意的問題。
    1.配置路徑為/download,不能是/Download.
    2.response的幾個方法的解讀。
    response.setHeader("Content-disposition", "attachment;filename=temp.doc");
    //設置響應頭信息,讓下載的文件顯示保存信息

    response.setContentType("application/msword");
    //設置下載文檔的類型,
    "application/msword"就是指word文檔。還有
    "application/pdf " :pdf文檔
    "application/zip":   zip文檔
    …………

    response.setContentLength((int)file.length());
    //設置輸出文件長度

    response.getOutputStream();
    //取得輸出流,用于向客戶發送二進制數據
    posted on 2008-08-18 21:52 neverend 閱讀(1817) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产另类久久久精品| 白白国产永久免费视频| 中文字幕久久亚洲一区| 免费激情网站国产高清第一页| 在线播放免费播放av片| 亚洲日本VA中文字幕久久道具| 成人免费视频网站www| 亚洲免费黄色网址| 最近中文字幕无免费视频| 亚洲欧美日韩中文无线码| 暖暖在线日本免费中文| 羞羞视频网站免费入口| 亚洲区不卡顿区在线观看| 国产免费AV片在线观看| 亚洲福利视频网址| 在线免费观看污网站| 特级av毛片免费观看| 亚洲一区二区三区自拍公司| 午夜免费福利小电影| 久久精品国产亚洲AV久| 免费a级黄色毛片| 最近的2019免费中文字幕| 久久亚洲精品无码AV红樱桃| 美女网站免费福利视频| 相泽南亚洲一区二区在线播放| 国产亚洲视频在线播放| 亚洲高清视频免费| 日韩国产欧美亚洲v片| 亚洲色偷偷综合亚洲AV伊人| 久久国产乱子伦免费精品| 亚洲熟妇无码一区二区三区| 亚洲午夜福利精品无码| 久久不见久久见免费视频7| 亚洲精品无码你懂的| 亚洲毛片av日韩av无码 | 亚洲AV永久无码精品放毛片| 亚洲高清最新av网站| 精品熟女少妇av免费久久| 国产精品亚洲综合网站| 亚洲精品天天影视综合网| 高清国语自产拍免费视频国产|