kingsmalltwo 发表于 2013-2-3 10:06:38

Java文件下载获取浏览器取消操作异常

//JSP页面调用
function downFile(url,filename){
var encodeURImodelUrl = encodeURI(encodeURI(url));
    var urls = "pltWcsjAction_downFiles.do?downFileName="+filename+"&downFilePath="+encodeURImodelUrl+"";
    location.href = urls;
}
 
 
//java action方法
 
private String downFileName;
private String downFilePath;
 
public void downFiles(){
if(!StringUtil.nullString(downFileName,"").equals("")
&& !StringUtil.nullString(downFilePath,"").equals("")){
String root = ServletActionContext.getRequest().getRealPath("/");
downFile(root+downFilePath,downFileName);
}

}



public void downFile(String path,String filename){

if(StringUtil.nullString(filename,"").equals("") ||
StringUtil.nullString(path,"").equals("") ||
 !new File(path).exists()){
return;

}
HttpServletResponse response = ServletActionContext.getResponse();
 BufferedInputStream bis = null;   
   BufferedOutputStream bos = null;   
   try{   
     File fileInstance = new File(path);   
     if (fileInstance.exists()){
          bis = new BufferedInputStream(new FileInputStream(fileInstance));   
          bos = new BufferedOutputStream(response.getOutputStream());   
          byte[] buff = new byte;   
          response.setContentType("APPLICATION/OCTET-STREAM; charset=UTF-8");   
          response.setHeader("Content-Disposition", "attachment; filename=\"" + java.net.URLEncoder.encode(filename,"utf-8") + "\"");   
          int bytesRead;   
          while (-1 != (bytesRead = bis.read(buff, 0, buff.length))){   
              bos.write(buff, 0, bytesRead);   
          }
        
      }    
   }catch (Exception e){   
   System.out.println("文件下载处理,浏览器取消文件下载!");
   //e.printStackTrace();
   
   }   
   finally{   
 
      if (bos != null){   
        IOUtils.closeQuietly(bos);   
      }   
      if (bis != null){   
        IOUtils.closeQuietly(bis);   
      }
       try {
       
       bos.close();  
bis.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  
   
  }
}
页: [1]
查看完整版本: Java文件下载获取浏览器取消操作异常