如何将URL.createObjectURL转换为Blob
时间: 2023-05-11 09:02:48 浏览: 1114
可以使用XMLHttpRequest对象来获取Blob数据,然后使用URL.createObjectURL方法将其转换为URL对象。以下是示例代码:
```
function urlToBlob(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (xhr.status === 200) {
callback(URL.createObjectURL(xhr.response));
}
};
xhr.send();
}
```
您可以将URL.createObjectURL转换为Blob对象,如下所示:
```
var blob = new Blob([data], { type: 'text/plain' });
var url = URL.createObjectURL(blob);
```
其中,data是要转换为Blob对象的数据,type是数据的MIME类型。
相关问题
将URL.createObjectURL返回的对象转换为Blob
可以使用XMLHttpRequest对象的responseType属性来获取Blob对象,具体代码如下:
```
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.onload = function() {
var blob = xhr.response;
// do something with the blob object
};
xhr.send();
```
注意:url是你想要转换的URL.createObjectURL返回的对象的URL。
window.URL.createObjectURL(new Blob([]))
window.URL.createObjectURL(new Blob([]))是一个用于在浏览器端生成blob:开头链接的方法。这个链接可以被用来下载或访问blob数据。该方法在大多数现代浏览器上都能正常运行。
具体来说,这个方法会创建一个Blob对象,并将其转换为URL。这个URL可以被用来创建一个指向Blob数据的链接。在这个示例中,传入的参数是一个空的Blob对象,所以生成的链接并没有具体的数据。
在非IE浏览器中,可以通过创建一个隐藏的<a>标签,并设置其href属性为生成的URL,将其下载或访问链接。而在IE浏览器中,需要使用window.navigator.msSaveOrOpenBlob方法来保存或打开链接。
需要注意的是,在IE10、IE11和Microsoft Edge中生成的blob:链接不能直接添加到<a>节点上,并且在浏览器地址栏中访问时会出现“Error: 拒绝访问。”的错误。因此,针对这些浏览器的情况,需要使用不同的方法来处理生成的链接。