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

Vue導(dǎo)出Excel,后端返回的文件流,前端接收后無(wú)法打開(kāi)文件的解決

 更新時(shí)間:2025年12月03日 15:05:05   作者:Z獸獸  
在使用Vue導(dǎo)出Excel時(shí),如果后端返回文件流,前端接收后無(wú)法打開(kāi)文件,通常是由于響應(yīng)類型設(shè)置不正確導(dǎo)致的,通過(guò)設(shè)置axios請(qǐng)求接口時(shí)的響應(yīng)類型為`blob`,并使用blob轉(zhuǎn)換文件流,可以解決文件損壞無(wú)法打開(kāi)的問(wèn)題

Vue導(dǎo)出Excel,后端返回的文件流,前端接收后無(wú)法打開(kāi)文件

在項(xiàng)目中導(dǎo)出excel時(shí),提示文件損壞無(wú)法打開(kāi),但后端測(cè)試接口是沒(méi)問(wèn)題的,那么就前端看問(wèn)題了。

1. axios請(qǐng)求接口時(shí)設(shè)置響應(yīng)類型字段

responseType: 'blob'

2. 使用blob轉(zhuǎn)換文件流

axios({
    method: 'post',
    url: '/download',
    params: {id}, // URL 參數(shù)
    data: JSON.stringify(bodyData),  //body請(qǐng)求體
    headers: { 
      'Authorization': userinfo.token,
      "Content-Type":"application/json", 
    },
    responseType: "blob",  //設(shè)置為blob,不然導(dǎo)出的Excel無(wú)法打開(kāi)
    timeout: 60000, // 超時(shí)時(shí)間(毫秒)
    baseURL: `${VITE_JAVASERVER_HOST}`  //基礎(chǔ)URL
  })
    .then(async(response) => {
      const fileName = 'xxx';
      const blob = await new Blob([response.data])
      // 創(chuàng)建下載鏈接
      const url = window.URL.createObjectURL(blob);
      const a = document.createElement("a");
      a.href = url;
      a.download = fileName; // 設(shè)置下載文件名(可自定義)
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      window.URL.revokeObjectURL(url); // 釋放內(nèi)存
    })
    .catch((error) => {
      console.error("Error:", error);
    });

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

广东省| 田林县| 昌宁县| 北碚区| 旬阳县| 广德县| 湾仔区| 绥德县| 洪雅县| 柘荣县| 宜春市| 如东县| 新乐市| 漳平市| 寿光市| 基隆市| 丰都县| 辛集市| 电白县| 泰和县| 上饶县| 睢宁县| 康平县| 永定县| 城市| 定襄县| 竹北市| 庄浪县| 马鞍山市| 津市市| 连平县| 微山县| 抚州市| 碌曲县| 墨玉县| 宾阳县| 新营市| 容城县| 耒阳市| 姜堰市| 中江县|