問題場景:
- 後端返回圖片數據流,打印結果是亂碼,如下:
- Chrome瀏覽器的preview中可以看到二維碼(圖片),如下:
解析思路:
- 嘗試用二進制大對象Blob解析,然後生成圖片的URL,代碼如下:
// QRCode 爲後端接口返回的圖片數據流
const blob = new Blob([QRCode])
const url = window.URL.createObjectURL(blob)
- 但是把生成的URL鏈入img的src後仍然顯示不出來,在查資料後知道還需設置responseType爲blob才行,代碼如下:
const QRCode = await this.$swaggerApi.$post(
url, // 接口地址
params, // 參數
{ 'responseType': 'blob' }
)
const blob = new Blob([QRCode])
const url = window.URL.createObjectURL(blob)
把生成的url鏈入img的src後效果如下: