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

          struts中實現文件下載

          Posted on 2007-08-05 18:06 semovy 閱讀(582) 評論(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
          沒有報錯么????
          主站蜘蛛池模板: 罗田县| 宣武区| 开远市| 山丹县| 平陆县| 石台县| 鄱阳县| 上林县| 沧源| 磐石市| 玉溪市| 科技| 长阳| 钦州市| 阳原县| 巴彦淖尔市| 准格尔旗| 乐业县| 道真| 吉隆县| 乌鲁木齐市| 嵊泗县| 兰溪市| 沛县| 高尔夫| 河源市| 民权县| 文安县| 米林县| 禹城市| 辛集市| 云南省| 响水县| 镇远县| 启东市| 桑植县| 泸西县| 文山县| 富裕县| 怀远县| 公主岭市|