国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題

這篇具有很好參考價(jià)值的文章主要介紹了前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、當(dāng)我們前端調(diào)用導(dǎo)出文件接口時(shí),一般情況都會(huì)在請(qǐng)求里添加responseType為blob

?

前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題

前幾天遇到一個(gè)問題,后端人員?的這個(gè)接口會(huì)分別出現(xiàn)兩種情況:

1、當(dāng)導(dǎo)出接口請(qǐng)求正常時(shí),我們前端會(huì)收到一個(gè)文件流如下圖

前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題

?這時(shí)我們打印一下接口返回的數(shù)據(jù)類型,發(fā)現(xiàn)接口會(huì)返回一個(gè)blob類型的數(shù)據(jù),并且blob中屬性type是application/vnd.ms-excel,這就說明我們導(dǎo)出的文件類型是excel格式的。如下圖?前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題

BLOB (binary large object)----二進(jìn)制大對(duì)象,是一個(gè)可以存儲(chǔ)二進(jìn)制文件的容器。

說白了blob就是一個(gè)二進(jìn)制的對(duì)象,我們可以通過這個(gè)blob對(duì)象直接讀取文件內(nèi)容,但是這時(shí)多次一舉,我們只需要把相應(yīng)的blob對(duì)象直接以a標(biāo)簽導(dǎo)出就可以了,如下圖:

前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題

?2、當(dāng)導(dǎo)出接口數(shù)據(jù)過多后端拋出異常時(shí),如下圖?

這時(shí)我們?cè)跒g覽器控制臺(tái)打印出結(jié)果,返現(xiàn)結(jié)果還是一個(gè)blob對(duì)象,但是type變成application/json前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題?

我們想要得到接口返回的結(jié)果,需要對(duì)blob對(duì)象進(jìn)行文件讀取,我們需要用到FileReader

FileReader?對(duì)象允許 Web 應(yīng)用程序異步讀取存儲(chǔ)在用戶計(jì)算機(jī)上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,使用?File?或?Blob?對(duì)象指定要讀取的文件或數(shù)據(jù)。

我們可以根據(jù)blob對(duì)象的type屬性來判斷,當(dāng)type為application/json時(shí),接口返回的時(shí)一個(gè)json對(duì)象

前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題

其中reader.result就是接口返回的結(jié)果,是一個(gè)json字符串需要轉(zhuǎn)換成對(duì)象。?文章來源地址http://www.zghlxwxcb.cn/news/detail-461892.html

到了這里,關(guān)于前端文件導(dǎo)出設(shè)置responseType為blob時(shí)遇到的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 文件流下載之——axios請(qǐng)求responseType為blob時(shí),錯(cuò)誤數(shù)據(jù)處理

    背景:一個(gè)文件下載的需求,如果成功下載data數(shù)據(jù)返回的是文件流,如果失敗后端會(huì)返回失敗信息,類似{code: -1, data: null, msg: ‘xxx’}。然而如果用responseType: \\\'blob’去接文件流的話,返回的錯(cuò)誤信息也會(huì)轉(zhuǎn)為blob數(shù)據(jù)格式。我們需要對(duì)返回錯(cuò)誤信息的數(shù)據(jù)做處理,頁面上提示

    2024年02月13日
    瀏覽(88)
  • 純前端導(dǎo)出,設(shè)置導(dǎo)出xlsx文件樣式xlsx-js-style

    設(shè)置導(dǎo)出的表格樣式,xlsx-js-style!真的絕絕子! 1.下載xlsx-js-style依賴 2.在main.js中掛載到vue原型上,方便使用 ?3.頁面具體寫法 參考:前端根據(jù)后端返回?cái)?shù)據(jù)導(dǎo)出指定樣式的表格(xlsx-js-style)_前端excel導(dǎo)出指定格式-CSDN博客

    2024年01月17日
    瀏覽(23)
  • 前端下載文件(Blob)的幾種方式使用Blob下載文件

    在前端下載文件是個(gè)很通用的需求,一般后端會(huì)提供下載的方式有兩種: 1.直接返回文件的網(wǎng)絡(luò)地址(一般用在靜態(tài)文件上,比如圖片以及各種音視頻資源等) 2.返回文件流(一般用在動(dòng)態(tài)文件上,比如根據(jù)前端選擇,導(dǎo)出不同的統(tǒng)計(jì)結(jié)果 excel 等) 第一種方式比較簡單,但

    2024年02月07日
    瀏覽(21)
  • 基于SpringBoot + EasyExcel + Vue + Blob實(shí)現(xiàn)導(dǎo)出Excel文件的前后端完整過程

    基于SpringBoot + EasyExcel + Vue + Blob實(shí)現(xiàn)導(dǎo)出Excel文件的前后端完整過程

    首先前端發(fā)起HTTP請(qǐng)求之后,后端返回一個(gè)Excel輸出流,然后前端用Blob類型接收數(shù)據(jù),并且解析響應(yīng)頭數(shù)據(jù)以及提取源文件名,最后用a標(biāo)簽完成下載。 一、后端代碼 (1)導(dǎo)入阿里巴巴的EasyExcel依賴(pom.xml) (2)控制層(GameController.java) (3)接口層(IGameService.java) (4)

    2024年02月16日
    瀏覽(23)
  • 前端下載文件的幾種方式使用Blob下載文件

    前端下載文件的幾種方式使用Blob下載文件

    前端下載文件的幾種方式 使用Blob下載文件 在前端下載文件是個(gè)很通用的需求,一般后端會(huì)提供下載的方式有兩種: 1.直接返回文件的 網(wǎng)絡(luò)地址 (一般用在靜態(tài)文件上,比如圖片以及各種音視頻資源等) 2.返回 文件流 (一般用在動(dòng)態(tài)文件上,比如根據(jù)前端選擇,導(dǎo)出不同的

    2024年02月05日
    瀏覽(24)
  • 前端基于axios請(qǐng)求下載文件(后端返回Blob文件流)

    前端基于axios請(qǐng)求下載文件(后端返回Blob文件流)

    前端小白第一篇csdn文章就當(dāng)自己記錄學(xué)習(xí)啦! 我自己遇到的情況寫在前面防止有人和我不一樣,浪費(fèi)時(shí)間瀏覽; 調(diào)用下載接口后端給我返回的數(shù)據(jù)格式(即文件流格式)如下: 1.按鈕定義點(diǎn)擊事件 2.調(diào)用后端接口 在使用 axios 請(qǐng)求下載文件 api 接口時(shí),注意區(qū)分不同請(qǐng)求方法

    2024年02月11日
    瀏覽(97)
  • 后端返回?cái)?shù)據(jù)流,前端進(jìn)行轉(zhuǎn)換blob文件流

    后端返回?cái)?shù)據(jù)流,前端進(jìn)行轉(zhuǎn)換blob文件流

    1. 首先相應(yīng)的頭里面請(qǐng)求改為 responseType: \\\'blob\\\' 2.? ?????????let res = await getPhotoVideoUrl() --此處為模擬的獲取一個(gè)視頻流的地址; ? ? ? ? const img = new Blob([res], { type: \\\'image/png\\\' }); ? ? ? ? let imgUrl = window.URL.createObjectURL(img); 3.拿到流的地址后,先進(jìn)行new Blob進(jìn)行創(chuàng)建一個(gè)對(duì)象。

    2024年02月13日
    瀏覽(22)
  • 前端實(shí)現(xiàn)文件下載的方法;以及后端返回 blob 文件流,進(jìn)行展示。

    前端下載一般分為兩種情況,一種是后端直接給一個(gè)文件地址,通過瀏覽器打開就可以下載,另外一種則需要發(fā)送請(qǐng)求,后端返回二進(jìn)制流數(shù)據(jù),前端解析流數(shù)據(jù),生成URL,實(shí)現(xiàn)下載。 通過a標(biāo)簽的download屬性來實(shí)現(xiàn)文件下載,這種方式是最簡單的,也是比較常用的方式,先來

    2024年02月06日
    瀏覽(27)
  • 解決axios請(qǐng)求文件流前端通過new Blob完成文件流下載文件打不開

    解決axios請(qǐng)求文件流前端通過new Blob完成文件流下載文件打不開

    目錄 1.首先請(qǐng)求封裝axios的請(qǐng)求方式 2.根據(jù)接口文檔查看文件流的請(qǐng)求類型 3.請(qǐng)求Methods 4.以上寫完以后,好消息是文件可以成功下載 4.1壞消息是文件竟然是個(gè)損壞文件打不開,修復(fù)了也是亂碼 5.解決問題 5.1 前端做文件下載有很多方式,前端返回文件流需要我們?cè)赼xios請(qǐng)求封

    2024年04月25日
    瀏覽(23)
  • 【前端】Vue之使用new Blob() 實(shí)現(xiàn)不同類型的文件下載

    【前端】Vue之使用new Blob() 實(shí)現(xiàn)不同類型的文件下載

    ??????? 在 Vue 項(xiàng)目實(shí)際開發(fā)過程中,經(jīng)常需要對(duì)各種各樣的類型進(jìn)行下載,因?yàn)槲也皇乔岸顺錾妥约涸诰W(wǎng)上學(xué)習(xí)最后使用到自己的項(xiàng)目當(dāng)中,代碼冗余等低級(jí)錯(cuò)誤還請(qǐng)多多指導(dǎo)。我發(fā)現(xiàn)用 Blob 二進(jìn)制進(jìn)行文件下載的比較多,我就采用了這一方式。 ????????下面是一

    2024年03月20日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包