java web 程序中当点击一个控件后,如何取消正在下载的文件?

我用的是spring mvc ,下载时把数据写入servletoutputStream, 下载时会弹出一个对话框,有一个“取消”按钮,启用js事件,请问,我要如何断开链接,取消下载呢?谢谢大神们!

第1个回答  2014-03-07
点击下载调用的是浏览器的下载功能,你没法去调用浏览器的取消下载功能,只能自己手动去取消!追问

我用的是attachment方式,求详解啊!

第2个回答  2014-03-07
具体我没测试过,我感觉是这样的:
写个监听类,如果客户端有取消的话,服务器就强行断开与客户端的输出流。追问

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition","attachment;filename="+new String( fileName.getBytes("gb2312"), "ISO8859-1" ) +fileType);求详解啊。

追答

下载时会弹出一个对话框,这个是你把文件流直接输出到浏览器里面了,默认打开方式为windows方式,好比你电脑上安装了word就有下载,打开,取消按钮,zip什么的也都一样的,所以点击取消的话,浏览器直接就断开了。
response.setHeader("Content-Disposition","attachment;filename="+new String( fileName.getBytes("gb2312"), "ISO8859-1" ) +fileType)

这个是把文件的格式转换成 "ISO8859-1",后台默认是"gb2312",GB2312文件名可以带中文,你传至前台下载时候会乱码,这个是转码的代码。