js将二进制传给别的页面,无法下载
时间: 2023-12-12 15:04:33 浏览: 105
如果您想将二进制数据传递到另一个页面,并在那个页面上提供下载,可以使用以下步骤:
1. 将二进制数据转换为 Blob 对象。您可以使用 new Blob() 构造函数来创建 Blob 对象。例如:
```javascript
var binaryData = "binary data here";
var blob = new Blob([binaryData], {type: "application/octet-stream"});
```
2. 创建一个 URL 对象并将 Blob 对象传递给它。您可以使用 URL.createObjectURL() 方法来创建 URL 对象。例如:
```javascript
var url = URL.createObjectURL(blob);
```
3. 在另一个页面上创建一个下载链接,并将 URL 对象传递给它。例如:
```html
<a href="url" download="filename">Download</a>
```
其中,`url` 是第二步中创建的 URL 对象,`filename` 是您想要为下载文件指定的名称。
完整的示例代码如下:
```javascript
var binaryData = "binary data here";
var blob = new Blob([binaryData], {type: "application/octet-stream"});
var url = URL.createObjectURL(blob);
var downloadLink = document.createElement("a");
downloadLink.href = url;
downloadLink.download = "filename";
downloadLink.innerHTML = "Download";
document.body.appendChild(downloadLink);
```
注意:您需要将上述代码放置在服务端环境下,因为浏览器的安全策略通常会阻止您直接在客户端访问本地文件系统。
阅读全文