最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE+ElementUI下載文件的幾種方式(小結(jié))

 更新時(shí)間:2023年01月13日 09:50:32   作者:白野澤  
本文主要介紹了VUE+ElementUI下載文件的幾種方式(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.創(chuàng)建超鏈接,通過(guò)a標(biāo)簽的鏈接向后端服務(wù)發(fā)get請(qǐng)求,接收后端的文件流

<a :href='"/user/downloadExcel"' >下載模板</a>

2.創(chuàng)建iframe的方式

<el-button size="mini" type="text" icon="el-icon-download" @click="handleDownload(scope.row)">下載</el-button>
? ? /* 下載 */
? ? handleDownload(row) {
? ? ? this.loadingOverLay = this.$loading({
? ? ? ? lock: true,
? ? ? ? text: "文件生成中",
? ? ? ? spinner: "el-icon-loading",
? ? ? ? background: "rgba(0,0,0,0.7)",
? ? ? });
? ? ? var elemIF = document.createElement("iframe");
? ? ? elemIF.src = process.env.VUE_APP_BASE_API + "/transcode/download/" + row.id;
? ? ? elemIF.style.display = "none";
? ? ? document.body.appendChild(elemIF);
? ? ? this.loadingOverLay.close();
? ? },

3.對(duì)后端發(fā)的post請(qǐng)求,使用blob格式

<el-button ?size="mini" class="filter-item" type="primary" icon="el-icon-download" @click="handleExport(scope.row)">導(dǎo)出</el-button>
//method方法
handleExport(row){
const url="/user/downloadExcel"
const options = {snapshotTime:formatDate(new Date(row.snapshotTime), 'yyyy-MM-dd hh:mm')}
exportExcel(url,options)
}
/**
?* 封裝導(dǎo)出Excal文件請(qǐng)求
?* @param url
?* @param data
?* @returns {Promise}
?*/
//api.js
export function exportExcel(url, options = {}) {
? return new Promise((resolve, reject) => {
? ? console.log(`${url} 請(qǐng)求數(shù)據(jù),參數(shù)=>`, JSON.stringify(options))
? ? axios.defaults.headers['content-type'] = 'application/json;charset=UTF-8'
? ? axios({
? ? ? method: 'post',
? ? ? url: url, // 請(qǐng)求地址
? ? ? data: options, // 參數(shù)
? ? ? responseType: 'blob' // 表明返回服務(wù)器返回的數(shù)據(jù)類(lèi)型
? ? }).then(
? ? ? response => {
? ? ? ? resolve(response.data)
? ? ? ? let blob = new Blob([response.data], {
? ? ? ? ? type: 'application/vnd.ms-excel'
? ? ? ? })
? ? ? ? console.log(blob)
? ? ? ? let fileName = Date.parse(new Date()) + '.xlsx'
? ? ? ? if (window.navigator.msSaveOrOpenBlob) {
? ? ? ? ? // console.log(2)
? ? ? ? ? navigator.msSaveBlob(blob, fileName)
? ? ? ? } else {
? ? ? ? ? // console.log(3)
? ? ? ? ? var link = document.createElement('a')
? ? ? ? ? link.href = window.URL.createObjectURL(blob)
? ? ? ? ? link.download = fileName
? ? ? ? ? link.click()
? ? ? ? ? //釋放內(nèi)存
? ? ? ? ? window.URL.revokeObjectURL(link.href)
? ? ? ? }
? ? ? },
? ? ? err => {
? ? ? ? reject(err)
? ? ? }
? ? )
? })
}

4.導(dǎo)出json文件

1.安裝:

npm install file-saver --save

2.引入:

import FileSaver from 'file-saver'
/**?
?* data: 封裝好的json數(shù)據(jù)?
?* JSON.stringify(data, null, 2): 格式化json數(shù)據(jù) 方便閱讀
?* new Blob(parame1, parame2): 轉(zhuǎn)為Blob文件流.
?* parame1 [] 數(shù)據(jù)源?
?* parame2 文件流類(lèi)型
?*/
const blob = new Blob([JSON.stringify(data, null, 2)], {type: 'application/json'})
?
/**?
?* FileSaver.saveAs(parame1, parame2) ?瀏覽器保存文件
?* parame1: Blob文件流
?* parame2:文件名
?*/
FileSaver.saveAs(blob, '文件名.json')

到此這篇關(guān)于VUE+ElementUI下載文件的幾種方式(小結(jié))的文章就介紹到這了,更多相關(guān)VUE ElementUI下載文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中el-checkbox全選、反選、多選的實(shí)現(xiàn)

    vue中el-checkbox全選、反選、多選的實(shí)現(xiàn)

    這篇文章主要介紹了vue中el-checkbox全選、反選、多選的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 解決vue中post方式提交數(shù)據(jù)后臺(tái)無(wú)法接收的問(wèn)題

    解決vue中post方式提交數(shù)據(jù)后臺(tái)無(wú)法接收的問(wèn)題

    今天小編就為大家分享一篇解決vue中post方式提交數(shù)據(jù)后臺(tái)無(wú)法接收的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue 實(shí)現(xiàn)前端權(quán)限控制的示例代碼

    Vue 實(shí)現(xiàn)前端權(quán)限控制的示例代碼

    這篇文章主要介紹了Vue 實(shí)現(xiàn)前端權(quán)限控制的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Vue源碼學(xué)習(xí)記錄之手寫(xiě)vm.$mount方法

    Vue源碼學(xué)習(xí)記錄之手寫(xiě)vm.$mount方法

    在我們開(kāi)發(fā)中,經(jīng)常要用到Vue.extend創(chuàng)建出Vue的子類(lèi)來(lái)構(gòu)造函數(shù),通過(guò)new 得到子類(lèi)的實(shí)例,然后通過(guò)$mount掛載到節(jié)點(diǎn),今天通過(guò)本文給大家講解手寫(xiě)vm.$mount方法 ,感興趣的朋友一起看看吧
    2022-11-11
  • vue手寫(xiě)加載動(dòng)畫(huà)項(xiàng)目

    vue手寫(xiě)加載動(dòng)畫(huà)項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了vue手寫(xiě)加載動(dòng)畫(huà)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Vuejs 用$emit與$on來(lái)進(jìn)行兄弟組件之間的數(shù)據(jù)傳輸通信

    Vuejs 用$emit與$on來(lái)進(jìn)行兄弟組件之間的數(shù)據(jù)傳輸通信

    本篇文章主要介紹了Vuejs 用$emit 與 $on 來(lái)進(jìn)行兄弟組件之間的數(shù)據(jù)傳輸示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2017-02-02
  • Vue2.X 通過(guò)AJAX動(dòng)態(tài)更新數(shù)據(jù)

    Vue2.X 通過(guò)AJAX動(dòng)態(tài)更新數(shù)據(jù)

    這篇文章主要介紹了Vue2.X 通過(guò)AJAX動(dòng)態(tài)更新數(shù)據(jù)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • Vue項(xiàng)目?jī)?yōu)化的一些實(shí)戰(zhàn)策略

    Vue項(xiàng)目?jī)?yōu)化的一些實(shí)戰(zhàn)策略

    代碼優(yōu)化不僅僅局限在業(yè)務(wù)邏輯這塊,像是代碼復(fù)用、效率等等都是我們可以加以改進(jìn)的地方,這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目?jī)?yōu)化的一些實(shí)戰(zhàn)策略,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • vue-cli 3 全局過(guò)濾器的實(shí)例代碼詳解

    vue-cli 3 全局過(guò)濾器的實(shí)例代碼詳解

    這篇文章主要介紹了vue-cli 3 全局過(guò)濾器的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • electron-vue+electron-updater實(shí)現(xiàn)自動(dòng)更新(步驟源碼)

    electron-vue+electron-updater實(shí)現(xiàn)自動(dòng)更新(步驟源碼)

    這篇文章主要介紹了electron-vue+electron-updater實(shí)現(xiàn)自動(dòng)更新,步驟源碼包括autoUpdater.js操控更新js文件,main.js也就是package.json內(nèi)的main指向的js文件,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10

最新評(píng)論

个旧市| 溧水县| 尼玛县| 大竹县| 出国| 金乡县| 浮山县| 阜平县| 石棉县| 仁寿县| 綦江县| 城固县| 阿坝| 南宫市| 望奎县| 阳谷县| 辽宁省| 南召县| 会理县| 宜兰县| 板桥市| 永兴县| 阳谷县| 侯马市| 开江县| 榆树市| 阿拉善盟| 尉氏县| 巨野县| 五华县| 邵阳市| 晴隆县| 舞阳县| 宜兴市| 罗田县| 望奎县| 中山市| 吉林市| 南城县| 红桥区| 安陆市|