js如何根据二进制下载dwg
时间: 2023-08-11 22:06:23 浏览: 84
visualize.js
要下载二进制文件,可以使用 XMLHttpRequest 对象来发起 GET 请求,并将 responseType 设置为 "arraybuffer"。然后,可以将响应数据(即二进制数据)保存到一个 Blob 对象中,再使用 URL.createObjectURL() 方法创建一个临时链接。最后,将这个链接赋值给 download 属性,就可以触发文件下载了。
以下是示例代码:
```javascript
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置请求方法和地址
xhr.open('GET', '/path/to/file.dwg', true);
// 设置响应类型为 arraybuffer
xhr.responseType = 'arraybuffer';
// 监听 load 事件
xhr.onload = function() {
// 将响应数据保存到 Blob 对象中
var blob = new Blob([xhr.response], {type: 'application/octet-stream'});
// 创建临时链接
var downloadUrl = URL.createObjectURL(blob);
// 触发文件下载
var link = document.createElement('a');
link.href = downloadUrl;
link.download = 'file.dwg';
document.body.appendChild(link);
link.click();
// 清除临时链接
URL.revokeObjectURL(downloadUrl);
};
// 发送请求
xhr.send();
```
需要注意的是,这种方式下载的文件通常会被浏览器识别为未知类型,因此需要设置文件类型为 "application/octet-stream"。如果要下载的文件类型已知,可以将 type 参数设置为对应的 MIME 类型。
阅读全文