当前位置: 技术问答>java相关
一个文件下载的问题
来源: 互联网 发布时间:2015-07-12
本文导语: 我用jsp 写一个文件下载的程序,碰到一个问题 程序代码如下: response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "attachment;filename="" + downloadName + """); ServletOutputStream sos ...
我用jsp 写一个文件下载的程序,碰到一个问题
程序代码如下:
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment;filename="" + downloadName + """);
ServletOutputStream sos = response.getOutputStream();
FileInputStream fis = new FileInputStream("d;/test.gif");
int j;
while((j = fis.read()) != -1) {
sos.write(j);
}
sos.flush();
sos.close();
fis.close();
jsp脚本一运行,windows就会弹出一个对话框,是保存文件还是在当前窗口打开,如果选择保存,则一切正常, 但如果选择在当前窗口打开,则没有输出了,查看调试信息,说是输出流已被占用, 请教大家,谁以前也碰到过这个问题,是如何解决的,谢谢
程序代码如下:
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment;filename="" + downloadName + """);
ServletOutputStream sos = response.getOutputStream();
FileInputStream fis = new FileInputStream("d;/test.gif");
int j;
while((j = fis.read()) != -1) {
sos.write(j);
}
sos.flush();
sos.close();
fis.close();
jsp脚本一运行,windows就会弹出一个对话框,是保存文件还是在当前窗口打开,如果选择保存,则一切正常, 但如果选择在当前窗口打开,则没有输出了,查看调试信息,说是输出流已被占用, 请教大家,谁以前也碰到过这个问题,是如何解决的,谢谢
|
try:
去掉sos.flush();
去掉sos.flush();