现在的位置: 首页 > 综合 > 正文

struts2下载文件(extjs)

2018年05月21日 ⁄ 综合 ⁄ 共 1747字 ⁄ 字号 评论关闭

前台

window.open('downFileAction?fileName='+result.fileName);

 

 

// 下载文件
 @Action(value = "downFileAction")//, results = { @Result(name = "success", type = "stream") })
 public void downFile() {

  BufferedInputStream bis = null;
  BufferedOutputStream bos = null;
  OutputStream os = null;
  InputStream is = null;
  String filePath = this.application.getRealPath("root");    //得到项目的web路径
 
   try
         {
          File downloadFile = new File(filePath, this.fileName);
          is = new FileInputStream(downloadFile);
          bis = new BufferedInputStream(is);
          os = response.getOutputStream();
          bos = new BufferedOutputStream(os);
  
             this.response.reset();
             this.response.setCharacterEncoding("utf-8");
             this.response.setContentType("application/octet-stream");//文件类型contenttype
             this.response.setHeader("Content-Disposition","attachment; filename=" + fileName);  //关键部分,打开一个下载框
            
             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();
         }
   
 }

 

 

 

 

// 下载文件
 @Action(value = "downFileAction", results = { @Result(name = "success", type = "stream",

   params = {"contentType", "application/octet-stream", "inputName", "xlsInputStream",
   "contentDisposition", "filename=\"a.xls\""}) })
 public String downFile() {

  String filePath = this.application.getRealPath("root");
  File downloadFile = new File(filePath, this.fileName);
  try {
   this.xlsInputStream = new FileInputStream(downloadFile);
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
  
  return this.SUCCESS;   
 }

 

 

 

 

抱歉!评论已关闭.