js前段接收的后台json格式图片流如何转成图片
时间: 2023-07-18 18:41:20 浏览: 124
如果你收到的是后台返回的 JSON 格式的图片流,你需要先将其转换为二进制数据,再将二进制数据转换为图片。
以下是一个示例代码:
```javascript
// 假设 `response` 是从后台接收到的 JSON 格式的数据
const response = {
image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...",
// 其他属性...
};
// 将 base64 编码的图片数据转为二进制数据
const binaryImageData = atob(response.image.split(",")[1]);
// 创建一个 ArrayBuffer 对象,将二进制数据存储进去
const buffer = new ArrayBuffer(binaryImageData.length);
const view = new Uint8Array(buffer);
for (let i = 0; i < binaryImageData.length; i++) {
view[i] = binaryImageData.charCodeAt(i);
}
// 将 ArrayBuffer 对象转为 Blob 对象
const blob = new Blob([buffer], { type: "image/png" });
// 创建一个 URL 对象,用于表示图片的地址
const imageUrl = URL.createObjectURL(blob);
// 创建一个 Image 对象,用于显示图片
const imageElement = new Image();
imageElement.onload = function() {
// 图片加载完成后,将其添加到页面上
document.body.appendChild(imageElement);
};
imageElement.src = imageUrl;
```
这段代码将接收到的图片流转换为了一个 `Image` 对象,并将其添加到了页面上。你可以根据自己的需要对其进行修改。
阅读全文