使用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小時熱門文章