最近发现struts1.x在下载文件时,当点击下载时,在弹出的保存、打开窗口时选择取消,后台报错,在网上查询了很久,用网络上的方法都没有解决这个问题,经测试发现struts2的文件下载并没有出现类似问题,因此查看了下struts2的源代码,修改了下载的代码,完美解决这个问题,在此备份以便以后查看
InputStream inputStream = null;
OutputStream os = null;
try {
response.addHeader("Content-Type", "application/octet-stream;charset=UTF-8");
response.addHeader("Content-Disposition", "attachment;filename=download.txt"); //下载时文件名称
response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-cache");
byte[] buff = new byte[8192];
inputStream = new FileInputStream("D://2.txt"); //文件路径
os = response.getOutputStream();
int count = 0;
while (-1 != (count = inputStream.read(buff))) {
os.write(buff, 0, count);
}
os.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if(inputStream != null) {
inputStream.close();
}
if(os != null) {
os.close();
}
}
分享到:
相关推荐
Struts1.x常用的开发包,需要学习struts1.x朋友可以下载
struts1.x和struts2.x区别
struts1.x多文件上传, 感觉不错.
解决Struts2中下载文件时,点击弹出框上面的取消按钮后,后台报错问题
Struts 2.x权威指南(第3版)
freemarker与struts 1.x 结合,生成html 在http://blog.csdn.net/chen1255 的web中有详细描述关于freemarker与struts1.x的结合
使用struts1.x实现单文件,多文件上传,以及下载实例
在这里,通过一个小例子稍微总结了下struts1和struts2的区别,希望这个能帮助到初学struts的朋友
Struts1.x的登录示例,Struts1.x相关详细教程参考我的Blog:http://blog.csdn.net/boyazuo
java Struts 1.x 框架 Web 开发 java Struts 1.x 框架 Web 开发
struts1.x apps 所有最新的Struts1.x项目应用 struts1.x apps 所有最新的Struts1.x项目应用 欢迎大家下载。。。
struts1.x入门教程
struts2.x所有包及配置文件
这是struts1.x标签! struts1.x是历经考验的成熟的框架! 此标签可以帮助你更好的学习struts1.x的标签!
struts1 国际化 源代码 struts1 国际化 工程
Struts1.x的上传文件示例。Struts1.x的教程参考我的Blog:http://blog.csdn.net/boyazuo
struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet....
适用于Struts1.x初学者(网摘共25节)
Struts1.x-Jdbc,学习Struts1.的曾删改查