点击一个连接如(下载)实现文件的下载,要求点击连接后弹出一个下载保存框,那么如何实现弹出保存对话框呢,又如何将文件名和保存的文件路径传到Action里呢。
代码:
String filename = file.getName();
HttpServletResponse response=this.getResponse();
response.addHeader("Content-Disposition", "attachment;filename="
+ URLEncoder.encode(filename, "UTF-8"));
response.addHeader("Content-Length", "" + file.length());
response.setContentType("application/zip;charset=utf-8");
InputStream in = new FileInputStream(file);
byte[] buf=new byte[1024];
ServletOutputStream out=response.getOutputStream();
int len=0;
while((len=in.read(buf))!=-1){
out.write(buf, 0, len);
}
in.close();
out.flush();
out.close();
直接访问这个方法路径就会弹出下载了。
如果是ajax方式请求,可通过JS调用方法路径:document.location.href=downloadUrl;//浏览器弹出下载,downloadUrl为上面的方法访问路径。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。