Vue3文件下載方法實現(xiàn)的簡單代碼
文件下載方式
1. window.location.href 方式
注意:
文件名稱為中文時要使用 encodeURI 轉(zhuǎn)碼;
下載文件格式為 圖片 或 txt 時文件會直接打開;
下文中${ url } 表示接口地址
根據(jù)文件名下載:
window.location.href = `${url}/文件名.xlsx`;
文件名有中文:
window.location.href = `${url}/${encodeURI("文件名.xlsx")}`;
根據(jù)接口及參數(shù)下載(文件名未知):
window.location.href = `${url}?flag=1&id=${id}`;
當參數(shù)較多時:
import Qs from 'qs'
let params = {
id:1,
name:'張三'
}
let paramStr = Qs.stringify(params);
window.location.href = `${url}?${paramStr}`
2. 后臺返回文件流,模擬a 鏈接下載
this.$axios.get(${url}/${fileName}`, {
responseType: "blob",
}).then((response) => {
//new Blob([res])中不加data就會返回下圖中[objece objece]內(nèi)容(少取一層)
const blob = new Blob([response.data]);
const elink = document.createElement('a');
elink.download = '文件名.xlsx';
elink.style.display = 'none';
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 釋放URL 對象
document.body.removeChild(elink);
}).catch((error) => {
this.$message({
message: error
});
});總結(jié)
到此這篇關(guān)于Vue3文件下載方法實現(xiàn)的文章就介紹到這了,更多相關(guān)Vue3文件下載方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
VUE3刷新頁面報錯問題解決:Uncaught?SyntaxError:Unexpected?token?&apo
這篇文章主要介紹了VUE3刷新頁面報錯:Uncaught?SyntaxError:?Unexpected?token?‘<‘,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
Vux+Axios攔截器增加loading的問題及實現(xiàn)方法
這篇文章主要介紹了Vux+Axios攔截器增加loading的問題及實現(xiàn)方法,文中通過實例代碼介紹了vue中使用axios的相關(guān)知識,需要的朋友可以參考下2018-11-11
Vue2?this?能夠直接獲取到?data?和?methods?的原理分析
這篇文章主要介紹了Vue2?this能夠直接獲取到data和methods的原理分析,因為methods里的方法通過bind指定了this為new?Vue的實例2022-06-06
詳解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 構(gòu)建記事本應用
本篇文章主要介紹了詳解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 構(gòu)建記事本應用 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06

