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

JS中將blob返回值轉(zhuǎn)換為json格式的問題小結(jié)

 更新時間:2023年12月20日 11:13:47   作者:紅噔噔  
這篇文章主要介紹了JS中如何將blob返回值轉(zhuǎn)換為json格式,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

今天遇到一個問題,前端通過調(diào)取后端接口下載excel,后端返回的是兩種情況:

(1)用戶權(quán)限不足,后端返回json格式,如下圖:

(2)有權(quán)限,能夠正常下載,后端返回二進制流,如下圖:

封裝axios時, responseType: ‘blob’,將影響第一種情況讀取reponse為blob,不能直接讀取code和msg,此時就需要將blob的內(nèi)容轉(zhuǎn)成文件讀取,不能取消responseType: ‘blob’,取消會影響正常下載

調(diào)接口,根據(jù)response.data里的type去判斷,返回的類型

  if(response.data.type=='application/json'){
    const reader  = new FileReader();  //創(chuàng)建一個FileReader實例
     reader.readAsText(response.data, 'utf-8'); //讀取文件,結(jié)果用字符串形式表示
     reader.onload=function(){//讀取完成后,**獲取reader.result**
      const  {msg}  = JSON.parse(reader.result);
      this.$Message.error(msg); //彈出錯誤提示
     }
   }

如果需要顯示二進制流:

 var blob = new Blob([response.data]);
 var downloadElement = document.createElement("a");
 var href = window.URL.createObjectURL(blob); //創(chuàng)建下載的鏈接
 downloadElement.href = href;
 downloadElement.download = "下載的文件"+ ".xlsx"; //下載后文件名
 document.body.appendChild(downloadElement);
 downloadElement.click(); //點擊下載
 document.body.removeChild(downloadElement); //下載完成移除元素
 window.URL.revokeObjectURL(href); //釋放掉blob對象

到此這篇關(guān)于JS中如何將blob返回值轉(zhuǎn)換為json格式的文章就介紹到這了,更多相關(guān)blob轉(zhuǎn)換為json格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

马龙县| 南平市| 成都市| 铜鼓县| 时尚| 精河县| 湾仔区| 房产| 阿拉善右旗| 太保市| 通许县| 无锡市| 博野县| 筠连县| 柘城县| 锡林郭勒盟| 兖州市| 海林市| 砚山县| 阿城市| 留坝县| 滨州市| 六安市| 永福县| 五河县| 建湖县| 衡阳市| 班玛县| 昂仁县| 曲松县| 定日县| 维西| 嘉鱼县| 化德县| 怀宁县| 萍乡市| 琼结县| 晋城| 孟连| 庆阳市| 新宁县|