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

vue使用axios導(dǎo)出后臺(tái)返回的文件流為excel表格詳解

 更新時(shí)間:2022年08月11日 14:22:21   作者:求大牛的小李  
這篇文章主要介紹了vue使用axios導(dǎo)出后臺(tái)返回的文件流為excel表格方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用axios導(dǎo)出后臺(tái)返回的文件流為excel

之前有一個(gè)需求是要使用post請(qǐng)求,導(dǎo)出后臺(tái)返回的文件流并在表格中使用,大概思路為使用axios請(qǐng)求回?cái)?shù)據(jù),定義數(shù)據(jù)為blob格式,再創(chuàng)建一個(gè)a標(biāo)簽自調(diào)就可以完成了

<button @click="download">導(dǎo)出</button>
data() {
? ? return {
? ? ? isClick: true,
? ? };
? },
download() {
      // 簡(jiǎn)單的一個(gè)小節(jié)流
      if (!this.isClick) {
        return;
      }
      this.isClick = false;
      axios({
        method: "POST",
        url: "",
        data: {},
        responseType: "blob", //定義為blob
      }).then((res) => {
        const file = new Blob([res.data], { type: "application/vnd.ms-excel" });
        const url = URL.createObjectURL(file);
        const a = document.createElement("a");
        a.href = url;
        a.click();
        this.isClick = true;
      });
    },

vue axios導(dǎo)出excel亂碼解決

最近,公司讓我寫一個(gè)導(dǎo)出excel的功能,由于已經(jīng)有了前人寫好的代碼,我就直接拿著他的代碼改了一下,結(jié)果在前端下載好之后直接出現(xiàn)了亂碼問(wèn)題。

開(kāi)始我懷疑自己哪里寫錯(cuò)了,經(jīng)過(guò)仔細(xì)的檢查,并沒(méi)有問(wèn)題。而且在后臺(tái)生成的excel并沒(méi)有任何問(wèn)題。

后來(lái)我以為是讀入字節(jié)流出現(xiàn)了問(wèn)題,經(jīng)過(guò)調(diào)試對(duì)比也是正常的。唯一的問(wèn)題就是通過(guò)后臺(tái)返回的res出現(xiàn)了亂碼。

上網(wǎng)搜索,都說(shuō)這樣寫就行了。

和我寫的一樣。在經(jīng)過(guò)了一天的檢查還是無(wú)果后,我問(wèn)了問(wèn)前輩,原來(lái)問(wèn)題出在這里。

  .post("/TasksTable/ExportData",{
          item: {          
            //傳入項(xiàng)目id,根據(jù)項(xiàng)目id來(lái) 搜素任務(wù)
            project_id: this.tasksinfo,
          },
          //頁(yè)的索引和頁(yè)的長(zhǎng)度。
          PageSize: this.pageSize,
          PageIndex: this.currentPage,
          //定義類型
          headers: {
            "Content-Type": "application/x-www-form-urlencoded",
          },     
          responseType:'blob',         
        })

如圖所示,我用一個(gè)花括號(hào)把我傳入的數(shù)據(jù)和 headers、responseType放在了一起,所以headers和responseType無(wú)效了。

.post("/TasksTable/ExportData",{
          item: {          
            //傳入項(xiàng)目id,根據(jù)項(xiàng)目id來(lái) 搜素任務(wù)
            project_id: this.tasksinfo,
          },
          //頁(yè)的索引和頁(yè)的長(zhǎng)度。
          PageSize: this.pageSize,
          PageIndex: this.currentPage,
        },
        {    
          //定義類型
          headers: {
            "Content-Type": "application/x-www-form-urlencoded",
          },     
          responseType:'blob',         
        })

把他們用兩個(gè)花括號(hào)隔開(kāi)就可以了。最終成功導(dǎo)出!

找不到原因的感覺(jué)真頭疼啊,看了一天沒(méi)找到原因,最終通過(guò)求助才解決了。哎,這編碼之路啊~

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

相關(guān)文章

  • Vue發(fā)布項(xiàng)目實(shí)例講解

    Vue發(fā)布項(xiàng)目實(shí)例講解

    在本篇文章里小編給各位分享的是關(guān)于Vue發(fā)布項(xiàng)目的實(shí)例內(nèi)容以及知識(shí)點(diǎn)講解,需要的朋友們參考下。
    2019-07-07
  • el-table?fixed固定列導(dǎo)致錯(cuò)位的解決方法介紹

    el-table?fixed固定列導(dǎo)致錯(cuò)位的解決方法介紹

    ElementUI中el-table設(shè)置指定列固定不動(dòng),不受滾動(dòng)條影響,下面這篇文章主要給大家介紹了關(guān)于el-table?fixed固定列導(dǎo)致錯(cuò)位的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Vue3的provide和inject實(shí)現(xiàn)多級(jí)傳遞的原理解析

    Vue3的provide和inject實(shí)現(xiàn)多級(jí)傳遞的原理解析

    Vue3中的provide和inject函數(shù)通過(guò)原型鏈實(shí)現(xiàn)數(shù)據(jù)的多級(jí)傳遞,父組件使用provide注入數(shù)據(jù),子組件和后代組件通過(guò)inject獲取這些數(shù)據(jù),在創(chuàng)建組件實(shí)例時(shí),子組件會(huì)繼承父組件的provides屬性對(duì)象,介紹Vue3的provide和inject實(shí)現(xiàn)多級(jí)傳遞的原理,需要的朋友可以參考下
    2024-12-12
  • vue 自定義提示框(Toast)組件的實(shí)現(xiàn)代碼

    vue 自定義提示框(Toast)組件的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue 自定義提示框(Toast)組件的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue中sync修飾符分析原理及用法示例

    Vue中sync修飾符分析原理及用法示例

    在vue中,子組件如果想修改父組件的變量,一般做法是通過(guò)綁定事件的方法,父組件向子組件傳遞修改變量的方法,子組件觸發(fā)修改變量的方法執(zhí)行,這種方式中規(guī)中矩;另一種方法是使用sync修飾符,此方法可以減少很多代碼量
    2022-08-08
  • Vuex 入門教程

    Vuex 入門教程

    這篇文章主要介紹了Vuex 入門教程,Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式, 那這個(gè) vuex 怎么用呢?就具體來(lái)看一下吧
    2018-01-01
  • element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn)

    element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn)

    這篇文章主要介紹了element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • vue在標(biāo)簽中如何使用(data-XXX)自定義屬性并獲取

    vue在標(biāo)簽中如何使用(data-XXX)自定義屬性并獲取

    這篇文章主要介紹了vue在標(biāo)簽中如何使用(data-XXX)自定義屬性并獲取,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 淺談VUE uni-app 基礎(chǔ)組件

    淺談VUE uni-app 基礎(chǔ)組件

    這篇文章主要介紹了uni-app 的基礎(chǔ)組件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

    vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

    這篇文章主要介紹了vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

南靖县| 双江| 南靖县| 大理市| 波密县| 梓潼县| 鄢陵县| 湾仔区| 兴国县| 伊吾县| 防城港市| 深州市| 安福县| 柳州市| 图木舒克市| 秀山| 清流县| 中江县| 临颍县| 韶关市| 大丰市| 镇宁| 南木林县| 沿河| 房产| 年辖:市辖区| 大城县| 佛冈县| 宁国市| 定边县| 岳阳市| 昂仁县| 杨浦区| 湘阴县| 榆林市| 句容市| 五华县| 嘉禾县| 敦煌市| 房山区| 崇阳县|