posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          struts中實現文件下載

          Posted on 2007-08-05 18:06 semovy 閱讀(574) 評論(2)  編輯  收藏 所屬分類: struts
          struts中實現文件下載的主要代碼:

          public ActionForward execute(ActionMapping mapping, ActionForm form,
             HttpServletRequest request, HttpServletResponse response) {
            String strFileName = "測試文件.rar";
            File file = new File("具體路徑" + strFileName);//
            if(file.exists()){
             try{
              BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
              byte[] buffer = new byte[1024];
              strFileName = java.net.URLEncoder.encode(strFileName, "UTF-8");//處理中文文件名的問題
              strFileName = new String(strFileName.getBytes("UTF-8"),"GBK");//處理中文文件名的問題
              response.reset();
              response.setCharacterEncoding("UTF-8");
              response.setContentType("application/x-rar-compressed");//不同類型的文件對應不同的MIME類型
              response.setHeader("Content-Disposition","attachment; filename=" + strFileName);
              OutputStream os = response.getOutputStream();
              while(bis.read(buffer) > 0){
               os.write(buffer);
              }
              bis.close();
              os.close();
             }
             catch(Exception e){
              ......
             }
            }
            return mapping.getInputForward();
           }

          在Struts中的實現和在ASP.NET的實現類似,這段代碼就是將服務器上的文件以流的方式發送到客戶端瀏覽器,如果要是在線打開的方式的話還應將response.setHeader("Content-Disposition","attachment; filename=" + strFileName);改寫為response.setHeader("Content-Disposition","inline; filename=" + strFileName);


          評論

          # re: struts中實現文件下載  回復  更多評論   

          2008-11-29 09:27 by 林瑞霞
          請問一下,您這個測試文件是指的什么

          # re: struts中實現文件下載  回復  更多評論   

          2009-04-16 15:10 by famingyuan
          沒有報錯么????
          主站蜘蛛池模板: 微山县| 徐水县| 新营市| 聂荣县| 灌南县| 阿坝县| 澄江县| 三门峡市| 清新县| 延川县| 利辛县| 宁化县| 云和县| 星子县| 吉林市| 永登县| 和田县| 噶尔县| 增城市| 永平县| 冕宁县| 梅州市| 平度市| 东港市| 洞头县| 宁安市| 基隆市| 宁都县| 浠水县| 荥经县| 安顺市| 通州市| 恩施市| 娄底市| 宜兰市| 木兰县| 山阳县| 黄骅市| 宕昌县| 裕民县| 和田县|