//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[2048];
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();
}
}
}