簡體   English   中英

如何將圖像數據響應轉換為圖像 base64?

[英]How to convert image data response to Image base64?

這是我的 api

https://besticon-demo.herokuapp.com/icon?url=facebook.com&size=80..120..200

當我在 postman 中測試這個時,我得到了 Image..但是我該如何處理axios 我現在用 Axios 得到很長的字符串(比如...)

那么我如何使用該響應來顯示圖像..

   axios.get(RequestURL, { withCredentials: false })
                .then(function (response) {
                    // handle success
                    console.log(response)
                    var b64Response = btoa(response.data) 
                    setImageServer('data:image/png;base64,' + b64Response) // not showing image
                })

嘗試運行btoa時也會出錯

DOMException:無法在“Window”上執行“btoa”:要編碼的字符串包含 Latin1 范圍之外的字符。

HTML

 <img src={ImageServer}/>
axios.get('RequestURL', { responseType: 'arraybuffer' })
.then(response => {
      let blob = new Blob(
        [response.data], 
        { type: response.headers['content-type'] }
      )
      let image = window.URL.createObjectURL(blob)
      return image
    })
axios.get('RequestURL', {responseType: 'blob'})
.then(response => {
  let imageNode = document.getElementById('image');
  let imgUrl = URL.createObjectURL(response.data)
  imageNode.src = imgUrl
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM