<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 午夜免费福利影院| 亚洲VA中文字幕不卡无码| 特级做a爰片毛片免费看| 国产精品亚洲综合一区| 99久久精品免费精品国产| 亚洲Av无码国产一区二区| 亚洲中文字幕久久精品无码喷水 | 两个人www免费高清视频| 777亚洲精品乱码久久久久久 | 久久国产高潮流白浆免费观看| 精品亚洲456在线播放| 在线观看亚洲成人| 可以免费看黄视频的网站| 日本精品久久久久久久久免费| 亚洲av无码专区国产乱码在线观看| 丁香花免费完整高清观看| 无码人妻一区二区三区免费视频| 亚洲激情中文字幕| 亚洲AⅤ无码一区二区三区在线| 97公开免费视频| 无码AV动漫精品一区二区免费| 亚洲经典在线观看| 亚洲伊人色一综合网| 亚洲精品综合久久| 无人在线直播免费观看| 野花香在线视频免费观看大全| 亚洲精品国产首次亮相| 日韩亚洲Av人人夜夜澡人人爽 | 永久看日本大片免费35分钟| 日韩精品无码免费视频| 亚洲一区欧洲一区| 亚洲视频中文字幕| 国产黄色一级毛片亚洲黄片大全| 永久免费毛片在线播放| 久久久久免费看黄a级试看| 成人福利在线观看免费视频| 久久亚洲国产最新网站| 亚洲欧洲日产韩国在线| 国产AV无码专区亚洲A∨毛片| 午夜亚洲国产成人不卡在线| 性一交一乱一视频免费看|