用js处理application/octet-stream请求
时间: 2023-10-20 14:24:20 浏览: 246
可以使用Blob对象和XMLHttpRequest实例来处理。首先可以创建一个XMLHttpRequest实例,然后使用该实例通过GET或POST请求获取二进制数据。然后,将该数据存储在Blob对象中,并使用URL.createObjectURL()方法将Blob URL作为响应返回给客户端。在下载时,客户端可以使用Window.open()方法或为Blob URL创建一个链接来下载二进制数据。具体代码可以参考以下示例:
```javascript
function downloadFile(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function () {
if (xhr.status === 200) {
var blob = new Blob([xhr.response], {type: 'application/octet-stream'});
var downloadUrl = URL.createObjectURL(blob);
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = downloadUrl;
a.download = "file.dat";
a.click();
window.URL.revokeObjectURL(downloadUrl);
}
};
xhr.send();
}
```
阅读全文