本文為博主原創,未經允許不得轉載:
總結一下,最近在vue中實現一個文件下載的功能,用了vue中ajax的方式請求下載接口,
但是返回報錯,在網上查詢之后,找到用ajax請求下載文件報錯的原因:ajax方式請求的數據只能存放在javascipt內存空間,
可以通過javascript訪問,但是無法保存到硬盤,因為javascript不能直接和硬盤交互,否則將是一個安全問題。
錯誤方式:
_this.$http.post('/file/exportDetail.do',params)
可正確進行文件下載的方式有兩種:
第一種:location.href 進行文件下載,在當前窗口進行文件下載
toExport(id){ var url2 = "/file/exportDetail.do?id="+id; window.location.href = url2; },
第二種:window.open進行文件下載,默認會跳轉到新窗口進行文件下載
toExport(id){ var url2 = "/file/exportDetail.do?id="+id; window.open(url2); },
參考:https://www.cnblogs.com/nuccch/p/7151228.html