使用io流实现下载文件,运行时打断点发现产生了流,但是浏览器并没有下载文件。
经查询,发现若干原因。
1.设置response的头文件
response.addHeader("Content-disposition", "attachment; filename=" +fileName);
其中Content-disposition设置表示浏览器自动下载。
但并未解决我的问题。
后来在网上查询有说法是使用io流下载文件,不能通过ajax请求,要使用http请求
,我按照此思路修改代码,最终功能实现。修改后的请求代码如下:
function downloadFile(fileName) {
var fileName = encodeURI(encodeURI(fileName));
var url = "${ctx}/rpt-web/frame/topicShow/downloadFile?fileName="+fileName;
$('body').append($('<iframe id="download"/>'));
$("#download").attr('src',url);
}
其中红色部分代码是为了防止js传到后台的参数出现乱码,对应的在后台代码中要加上下面一行代码:
fileName =URIDecoder.decode(fileName,"utf-8");
至于io流下载,到底能不能使用ajax请求,还有待验证。
使用IO流下载文件,浏览器不下载的问题。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
移动互联网实时视频通讯之视频采集
Rayking629
2020-02-23 01:19:25
信安Tools持续搜集
tjdzshark
2020-05-06 01:04:51
Will the cryptocurrency replace the legal currency?
BlockchainBreather
2020-02-25 08:36:17
android图片加载哪家强
yuyuyuzhen
2020-02-22 17:08:31
kafka使用问题汇总
iteye_15241
2020-02-21 22:26:00
HTML ---- 标签
ply_09070066
2020-02-21 04:39:30
linux连接无线网络配置详解
Hello树先生z
2020-02-20 23:41:18
Java的IntegerCache
新村10
2020-02-20 20:07:38
vlc3.0.4在ubuntu16.04x64上的交叉编译全过程记录
逝水流年丶轻染尘
2018-12-31 06:10:11
0023 递归求Fabonacci数列
_bridge
2018-12-24 02:28:40
字符串长度 与数组长度
_bridge
2018-12-24 02:28:39
0027 递归求简单交错幂级数的部分和
_bridge
2018-12-24 02:28:39
C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别
_bridge
2018-12-24 02:28:39
vue图片放大、缩小、旋转等。仅需要两行代码!!!
十3
2018-11-20 00:18:51
24小時熱門文章