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

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

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

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

在項目中導(dǎo)出excel時,提示文件損壞無法打開,但后端測試接口是沒問題的,那么就前端看問題了。

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

responseType: 'blob'

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

axios({
    method: 'post',
    url: '/download',
    params: {id}, // URL 參數(shù)
    data: JSON.stringify(bodyData),  //body請求體
    headers: { 
      'Authorization': userinfo.token,
      "Content-Type":"application/json", 
    },
    responseType: "blob",  //設(shè)置為blob,不然導(dǎo)出的Excel無法打開
    timeout: 60000, // 超時時間(毫秒)
    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é)

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

相關(guān)文章

最新評論

儋州市| 密云县| 通渭县| 娄底市| 玉林市| 台中县| 扎囊县| 化州市| 宜兰县| 卓尼县| 松阳县| 景宁| 利川市| 诏安县| 洛南县| 娄底市| 伊金霍洛旗| 榆树市| 娄底市| 个旧市| 阿克陶县| 咸丰县| 平顶山市| 阳春市| 威远县| 双桥区| 民勤县| 黔西县| 绍兴市| 济阳县| 溧阳市| 滦南县| 喀喇沁旗| 南通市| 澎湖县| 准格尔旗| 平塘县| 汝州市| 泸西县| 泗水县| 平谷区|