Vue 讀取后台二進制文件流轉為圖片顯示


Vue 讀取后台二進制文件流轉為圖片顯示

有一個項目需要從后台讀取文件流轉為圖片顯示到頁面上,傳回的文件是blob文件格式的,其實很簡單,稍作記錄。

http 請求是這個樣子的。

image/jpeg 格式的。

js代碼

       this.$http({
          url: '請求的接口',
          method: 'get',   // get請求,post改為post
          responseType: 'blob',
          params: {   // 這是提交的參數,如果是post 的就是 data
            id: '123456',
            index: 'img'
          }
        }).then(({ data }) => {
          let blob = new Blob([data]);   // 返回的文件流數據
          let url = window.URL.createObjectURL(blob);  // 將他轉化為路徑
          this.mapSrc = url  // 將轉換出來的路徑賦值給變量,其實和上一步結合就可以
          }
        })

到這里就拿到了blob流轉換成的文件路徑

html代碼

然后就簡單了,把這個轉換出來的路勁賦值到需要展示的 img標簽就可以了。

<img :src="mapSrc" alt="" style="width: 100%;">

這樣子圖片就顯示出來了。

然后每次請求返回的圖片流是一樣的,同一張圖片,但是轉換出來的路徑可能是不一樣的,但是只要請求的是同一張圖片的話,渲染出來的圖片是一樣的。就這樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM