javascript - 如何将图像数据响应转换为 Image base64?
问题描述
这是我的 api
https://besticon-demo.herokuapp.com/icon?url=facebook.com&size=80..120..200
当我在邮递员中测试这个时,我得到了 Image..但是我怎么能用axios
. 我现在正在使用 Axios 获得很长的字符串(如�PNG...)
那么我如何使用该响应来显示图像..
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
})
推荐阅读
- blockchain - 没有费用的黑白签名 txns 和带有签名有效负载的未签名 txns 的区别是什么?
- reactjs - 如何在我的项目中实现 react-google-maps DirectionsRenderer
- reactjs - 尝试添加下载按钮
- python - 为什么当其他文件在 Heroku 中使用我的模型时我无法迁移?
- jquery-ui - 当光标通过结果下拉列表上下移动时,jquery自动完成处理事件
- javascript - 如何访问 d3.js 中多折线图的双嵌套数组?
- android - Android Kotlin Volley How to get value from JSONArray
- rxjs - RxJs 订阅和取消订阅的目的是什么?
- python - 什么是在 python 中读取 xml 的轻量级库?
- animation - 用搅拌机合成角落?