激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - JavaScript - 解決vue下載后臺(tái)傳過來(lái)的亂碼流的問題

解決vue下載后臺(tái)傳過來(lái)的亂碼流的問題

2021-12-06 16:38丹東來(lái)了 JavaScript

這篇文章主要介紹了解決vue下載后臺(tái)傳過來(lái)的亂碼流的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

后臺(tái)返回的亂碼流

解決vue下載后臺(tái)傳過來(lái)的亂碼流的問題

解決辦法:

請(qǐng)求方式用的是axios,主要加關(guān)鍵的 {responseType: 'blob'}

axios封裝

?
1
2
3
4
5
6
7
8
9
export function postDownload(url, data) {
  return new Promise((resolve, reject) => {
    instance.post(url,data,{responseType: 'blob'}).then(response => {
      resolve(response);
    }, err => {
      reject(err)
    })
  })
}

下載插件 npm install js-file-download -S

運(yùn)用:

下載excel時(shí),后臺(tái)設(shè)置了excel標(biāo)題,要去請(qǐng)求頭去取,傳輸過程中文會(huì)有亂碼的情況,需要編碼下。

let fileDownload = require("js-file-download");

fileDownload(res.data,decodeURIComponent(res.headers['content-disposition'].split("=")[1]));

補(bǔ)充知識(shí):vue下載后臺(tái)接口返回的二進(jìn)制流文件轉(zhuǎn)為Excel文件

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
this.$http({
 method: "post",
 responseType:"arraybuffer",
 url: '導(dǎo)出接口地址' ,
 data:{}
}).then((res)=>{
 if (res.status === 200 && res.data) {
  var disposition = res.headers['content-disposition'];
  var fileName = decodeURI( disposition.split("filename=")[1].split(";filename*=")[0])
  let blob = new Blob([res.data], { type: 'application/.xls' }); //.xls是我和后臺(tái)約定好的文件格式
  let link = document.createElement('a');
  link.href = window.URL.createObjectURL(blob);
  link.download = fileName;
  link.click();
  link.remove();
 
 }
},(err)=>{ var enc = new TextDecoder('utf-8')
 var res = JSON.parse(enc.decode(new Uint8Array(err.data))) //轉(zhuǎn)化成json對(duì)象
 
});

此時(shí)注意 responseType:"arraybuffer", 在vue框架當(dāng)中,數(shù)據(jù)請(qǐng)求是借助axios的,為此,在發(fā)送請(qǐng)求的時(shí)候,需要修改responseType,改為arraybuffer,axios默認(rèn)情況下responseType為json,若是不修改,很可能下載時(shí)候會(huì)是亂碼,或者為null。

以上這篇解決vue下載后臺(tái)傳過來(lái)的亂碼流的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/adbg/p/10579408.html

延伸 · 閱讀

精彩推薦
1369
主站蜘蛛池模板: 国产一区二区二 | 性欧美日本 | 毛片视频免费观看 | 精品国产一区二区三区在线观看 | 亚洲小视频在线 | 毛片视频播放 | 精品一区二区电影 | 久久久久免费电影 | 91成人在线网站 | 高清视频91| 亚洲欧美日韩精品久久 | 成人免费一区二区三区在线观看 | 日韩黄色片免费看 | 欧美精品久久久久久久久老牛影院 | 激情综合网俺也去 | www.mitao| 一级小毛片 | pornoⅹxxxxhd麻豆 | 在线小视频国产 | 午夜激情视频网站 | 无码专区aaaaaa免费视频 | 日韩欧美动作影片 | 成人啪啪18免费网站 | 中文字幕h | 久久久久久久久久久久久国产精品 | 在线 日本 制服 中文 欧美 | av在线免费观看不卡 | 欧美一级做性受免费大片免费 | 毛片免费视频观看 | 日本视频免费观看 | 美女被免费网站在线软件 | 午夜a狂野欧美一区二区 | 在线亚洲免费视频 | 国产精品久久久久久影院8一贰佰 | www.guochanav.com| 高清视频一区二区 | 成人在线网站 | 悠悠成人资源亚洲一区二区 | 国产精品亚洲一区二区三区久久 | 91成人久久 | 在线99热|