前端使用ajax怎么将二进制流转成图片的url路径显示图片
时间: 2024-09-12 15:07:33 浏览: 40
前端使用 AJAX 发送请求获取二进制数据(通常是从服务器获取的图像文件)并将其转换为图片 URL 的步骤如下:
1. **发送 AJAX 请求**:
使用 JavaScript 的 `fetch` 或 `XMLHttpRequest` 对象向服务器发送一个 GET 或 POST 请求,并指定你需要二进制数据的 URL。
```javascript
const xhr = new XMLHttpRequest();
xhr.open('GET', '/api/image', true);
xhr.responseType = 'blob'; // 设置响应类型为 Blob,表示我们期望接收到的是二进制数据
xhr.onload = function() {
if (xhr.status === 200) {
// 请求成功
handleBinaryResponse(xhr.response);
} else {
console.error('Failed to load image:', xhr.statusText);
}
};
xhr.send();
```
2. **处理二进制数据**:
获取到响应后,我们需要把二进制数据转换为 `DataURL`。这个过程可以使用 `URL.createObjectURL` 方法。
```javascript
function handleBinaryResponse(binaryData) {
const url = URL.createObjectURL(binaryData); // 创建 URL
const imgElement = document.createElement('img'); // 创建 img 元素
imgElement.src = url; // 设置 img 的 src 属性为创建的 URL
document.body.appendChild(imgElement); // 添加到文档中显示
}
// 当然,记得在适当的时候删除这个 URL,防止内存泄漏
xhr.onloadend = function() {
URL.revokeObjectURL(url);
};
```
阅读全文