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

vue后臺(tái)返回格式為二進(jìn)制流進(jìn)行文件的下載方式

 更新時(shí)間:2022年06月02日 11:08:21   作者:阿然然然  
這篇文章主要介紹了vue后臺(tái)返回格式為二進(jìn)制流進(jìn)行文件的下載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

后臺(tái)返回格式為二進(jìn)制流進(jìn)行文件的下載

結(jié)合項(xiàng)目中

封裝get請(qǐng)求攜帶token,進(jìn)行接收二進(jìn)制流

export function getHeader() {
? ? const token = getToken();
? ? if (token) {
? ? ? ? return {
? ? ? ? ? ? headers: {
? ? ? ? ? ? ? ? "Authorization": "Bearer " + token,
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return {
? ? ? ? headers: {}
? ? }
}
?
export function getHeader() {
? ? const token = getToken();
? ? if (token) {
? ? ? ? return {
? ? ? ? ? ? headers: {
? ? ? ? ? ? ? ? "Authorization": "Bearer " + token,
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return {
? ? ? ? headers: {}
? ? }
}

具體文件使用

TaskManageServer.js文件:

export const dataExport2 ?= (vueObject, dataIdList) => ?getDataRaw(vueObject,dataExport1(dataIdList))
?
export const dataExport1 = (dataIdList)=> {
? ? var tmp ="";
? ? for (let i = 0; i <dataIdList.length; i++) {
? ? ? ? tmp+= dataIdList[i]+","
? ? }
? ? tmp = tmp.substr(0,tmp.length-1)
? ? var url = getUrl('image/export/' + tmp);
? ? return url;
}

對(duì)應(yīng)html文件具體使用:

?import {
? ? ? ? dataExport1,
? ? ? ? dataExport2
? ? } from './TaskManageServer'
const response = await dataExport2(this, this.dataIdList);
let blob = new Blob([response.data], {
? ? //下載的文件類型;
? ? type: 'application/zip'?
})
// let fileName = Date.parse(new Date()) + '.zip'(修改下載的文件名)
if (window.navigator.msSaveOrOpenBlob) {
? ? // navigator.msSaveBlob(blob, fileName)
? ? navigator.msSaveBlob(blob)
} else {
? ? var link = document.createElement('a')
? ? link.href = window.URL.createObjectURL(blob)
? ? // link.download = fileName
? ? link.click()
? ? window.URL.revokeObjectURL(link.href) //釋放內(nèi)存
}

即可實(shí)現(xiàn)下載二進(jìn)制流文件。

vue下載保存二進(jìn)制文件

方法封裝:util.js

/**
?* 把二進(jìn)制文件保存到本地
?*/
export function exportFile(file, name) {
? let url = window.URL.createObjectURL(new Blob([file]));
? let link = document.createElement("a");
? link.style.display = "none";
? link.href = url;
? link.setAttribute("download", name);
? document.body.appendChild(link);
? link.click();
?
? document.body.removeChild(link); // 下載完成移除元素
? window.URL.revokeObjectURL(url); // 釋放掉blob對(duì)象
}

請(qǐng)求接口

在請(qǐng)求頭加responseType: "arraybuffer" 

export function demoApi(data) {
? return http({
? ? url: "/path/export",
? ? method: "post",
? ? responseType: "arraybuffer",
? ? data,
? });
}

方法調(diào)用

demoApi(data).then(res=>{
? ? if(res.staus==200){
? ? ? ? let fileName = "";
? ? ? ? ? let contentDisposition = res.headers["content-disposition"];
? ? ? ? ? if (contentDisposition) {
? ? ? ? ? ? fileName = window.decodeURI(
? ? ? ? ? ? ? res.headers["content-disposition"].split("=")[1],
? ? ? ? ? ? ? "UTF-8"
? ? ? ? ? ? );//取文件名
? ? ? ? ? }
? ? ? ? ? exportFile(res.data, fileName);
? ? }
})

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 腳手架vue-cli工程webpack的基本用法詳解

    腳手架vue-cli工程webpack的基本用法詳解

    這篇文章主要介紹了vue-cli工程webpack的基本用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-09-09
  • 從零開(kāi)始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)

    從零開(kāi)始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)

    這篇文章主要介紹了從零開(kāi)始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • vue watch監(jiān)聽(tīng)對(duì)象及對(duì)應(yīng)值的變化詳解

    vue watch監(jiān)聽(tīng)對(duì)象及對(duì)應(yīng)值的變化詳解

    下面小編就為大家分享一篇vue watch監(jiān)聽(tīng)對(duì)象及對(duì)應(yīng)值的變化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Ubuntu22.04使用nginx部署vue前端項(xiàng)目的詳細(xì)教程

    Ubuntu22.04使用nginx部署vue前端項(xiàng)目的詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于Ubuntu22.04使用nginx部署vue前端項(xiàng)目的詳細(xì)教程,使用nginx部署前端項(xiàng)目是一篇非常詳細(xì)的教程,旨在幫助初學(xué)者使用Nginx來(lái)部署前端項(xiàng)目,需要的朋友可以參考下
    2024-03-03
  • Vue3項(xiàng)目中使用防抖節(jié)流的實(shí)現(xiàn)示例

    Vue3項(xiàng)目中使用防抖節(jié)流的實(shí)現(xiàn)示例

    防抖節(jié)流是可以說(shuō)是一種優(yōu)化組件性能的技巧,可以有效減少組件中的渲染次數(shù)和計(jì)算量,本文主要介紹了Vue3項(xiàng)目中使用防抖節(jié)流的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2024-04-04
  • vue定義模態(tài)框的方法

    vue定義模態(tài)框的方法

    這篇文章主要為大家詳細(xì)介紹了vue定義模態(tài)框的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Vue + iView實(shí)現(xiàn)Excel上傳功能的完整代碼

    Vue + iView實(shí)現(xiàn)Excel上傳功能的完整代碼

    前一段時(shí)間項(xiàng)目經(jīng)歷了前端上傳文件的過(guò)程,首先進(jìn)入頁(yè)面會(huì)展示默認(rèn)的樣子,選中要上傳的excel文件,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • 解決Antd Table組件表頭不對(duì)齊的問(wèn)題

    解決Antd Table組件表頭不對(duì)齊的問(wèn)題

    這篇文章主要介紹了解決Antd Table組件表頭不對(duì)齊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • vue項(xiàng)目中播放rtmp視頻文件流的方法

    vue項(xiàng)目中播放rtmp視頻文件流的方法

    這篇文章主要介紹了vue項(xiàng)目中播放rtmp視頻文件流 ,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • vue滾動(dòng)固定頂部及修改樣式的實(shí)例代碼

    vue滾動(dòng)固定頂部及修改樣式的實(shí)例代碼

    這篇文章主要介紹了vue滾動(dòng)固定頂部及修改樣式,本文給大家提到了滾動(dòng)固定位置有多種方法,感興趣的朋友跟隨小編一起看看吧
    2019-05-05

最新評(píng)論

伊宁县| 胶南市| 吴江市| 江门市| 广饶县| 余姚市| 邢台县| 沙坪坝区| 静乐县| 探索| 明溪县| 和田市| 兴业县| 资溪县| 延安市| 章丘市| 冷水江市| 明水县| 于都县| 邻水| 冕宁县| 牟定县| 富蕴县| 大同县| 夏津县| 盱眙县| 高阳县| 巴里| 漳州市| 土默特右旗| 瑞丽市| 潞城市| 南召县| 阿拉善左旗| 台山市| 奇台县| 忻州市| 宜兰市| 潼关县| 东港市| 交城县|