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

基于axios 的responseType類型的設(shè)置方法

 更新時(shí)間:2019年10月29日 09:38:09   作者:zhusf  
今天小編就為大家分享一篇基于axios 的responseType類型的設(shè)置方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

responseType值的類型可為如下

axios請求下載導(dǎo)出一個(gè)文件,請求成功時(shí)返回的是一個(gè)流形式的文件,需要設(shè)置responseType: 'arraybuffer',但是請求失敗的需要返回的是json數(shù)據(jù),

所以需要把a(bǔ)rraybuffer轉(zhuǎn)成Json對象。

例:

請求設(shè)置了responseType: 'arraybuffer',

請求成功時(shí),下載文件,

請求失敗時(shí),后端返回json對象,如:{"msg":"系統(tǒng)異常","code":1,"success":false},也被轉(zhuǎn)成了arraybuffer

我的解決方案是,失敗時(shí),將數(shù)據(jù)arraybuffer轉(zhuǎn)成Json對象就好了。

舉個(gè)例:

api.downloadFile(params).then(res => {    
  if (res.status === 200 && res.data) {     
      var disposition = res.headers['content-disposition']    
      var fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))<br>      let blob = new Blob([res.data], { type: 'application/pdf' }) // 假設(shè)文件為pdf
     let link = document.createElement('a')
     link.href = window.URL.createObjectURL(blob)
     link.download = fileName
     link.click()
     link.remove()
   } else {      // 其它情況
   }
  }).catch(err => {     <br>    var enc = new TextDecoder('utf-8')
    var res = JSON.parse(enc.decode(new Uint8Array(err.data))) //轉(zhuǎn)化成json對象
    console.log(res)
  }
)

以上這篇基于axios 的responseType類型的設(shè)置方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

建水县| 牡丹江市| 兴文县| 香港| 武强县| 杨浦区| 当涂县| 金阳县| 河源市| 民权县| 勐海县| 台北县| 息烽县| 邵阳市| 高要市| 钦州市| 慈溪市| 朝阳县| 茂名市| 班戈县| 社旗县| 分宜县| 玉田县| 新龙县| 鄂伦春自治旗| 栾川县| 沁阳市| 壶关县| 浦北县| 红桥区| 宝丰县| 兴仁县| 东明县| 刚察县| 沈丘县| 安国市| 昆明市| 馆陶县| 浦江县| 全州县| 林口县|