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

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

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

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

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

封裝get請求攜帶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;
}

對應(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對象
}

請求接口

在請求頭加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
  • 從零開始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)

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

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

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

    下面小編就為大家分享一篇vue watch監(jiān)聽對象及對應(yīng)值的變化詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    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來部署前端項(xiàng)目,需要的朋友可以參考下
    2024-03-03
  • Vue3項(xiàng)目中使用防抖節(jié)流的實(shí)現(xiàn)示例

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

    防抖節(jié)流是可以說是一種優(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)歷了前端上傳文件的過程,首先進(jìn)入頁面會展示默認(rèn)的樣子,選中要上傳的excel文件,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • 解決Antd Table組件表頭不對齊的問題

    解決Antd Table組件表頭不對齊的問題

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

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

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

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

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

最新評論

双辽市| 鄯善县| 龙泉市| 延庆县| 宁都县| 宝坻区| 广饶县| 唐山市| 集安市| 筠连县| 崇左市| 郑州市| 攀枝花市| 大宁县| 湖州市| 长寿区| 内乡县| 梨树县| 清水河县| 洮南市| 武穴市| 卢龙县| 古交市| 沿河| 江津市| 淅川县| 宁阳县| 准格尔旗| 尼勒克县| 扎囊县| 白玉县| 甘肃省| 邯郸县| 新乡市| 南京市| 渑池县| 杭州市| 宜章县| 金门县| 静乐县| 闽侯县|