小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

extjs 文件下載

 pint 2012-05-29

圖二

這個用到了response對象的contenttype,保存不同的文件需要不同的contenttype(具體可上網(wǎng)查)。

點擊備份執(zhí)行backUpSmu()函數(shù)具體實現(xiàn)如下:

function backUpSmu(){
   Ext.Msg.wait('提示','正在備份,請稍后...');
   Ext.Ajax.request({
      success:function(res){
    //alert(res.responseText);

    //通過執(zhí)行window.open()來打開一個下載框圖二
    window.open('group.do?method=download&&fileName='+res.responseText);
    Ext.Msg.hide();
   }
  });
 }

java后臺執(zhí)行流操作。進入action group的download()方法。

public ActionForward download(ActionMapping mapping, ActionForm form,
   HttpServletRequest request,
   HttpServletResponse response) {
  try {
   request.setCharacterEncoding("iso-8859-1");
  } catch (UnsupportedEncodingException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  String fileName = request.getParameter( "fileName" );
  BufferedInputStream bis = null;
  BufferedOutputStream bos = null;
  OutputStream os = null;
  InputStream is = null;
  String filePath = servlet.getServletContext().getRealPath("/" + ROOT + fileName);//項目路徑
  
        try
        {
         File downloadFile = new File(filePath);
         is = new FileInputStream(downloadFile);
         bis = new BufferedInputStream(is);
         os = response.getOutputStream();
         bos = new BufferedOutputStream(os);
         
         fileName = java.net.URLEncoder.encode(fileName, "UTF-8");//處理中文文件名的問題
         fileName = new String(fileName.getBytes("UTF-8"),"GBK");//處理中文文件名的問題
           
            response.reset();
            response.setCharacterEncoding("utf-8");
            response.setContentType("application/octet-stream");//文件類型contenttype
            response.setHeader("Content-Disposition","attachment; filename=" + fileName);  //關(guān)鍵部分,打開一個下載框
            
            int bytesRead = 0;
         byte[] buffer = new byte[8192];
         
         while((bytesRead = bis.read(buffer,0,8192)) != -1)
         {
          bos.write(buffer, 0, bytesRead);
         }
         bos.flush();  
         is.close();
         bis.close();
         os.close();
         bos.close();
        }
        catch(Exception e){
         e.printStackTrace();
        }
        System.gc();
        return null;
 }

至此可最終實現(xiàn)在extjs中的文件下載功能。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多