在现代浏览器中,可以将大对象分配为Blob
,然后通过 URL 请求访问它。此 URL 将在浏览器的其他位置提供存储的对象(例如图像的数据)。
浏览器如何知道何时不再需要这个 URL,以及相应的Blob
数据可以免费被垃圾收集吗?
浏览器最终将清除该资源,但是可能需要一段时间(几小时或几天)才能将其从内存/磁盘中删除。
如果您希望显式删除该对象,可以通过revokeObjectURL
.
var blob = new Blob([/*JPEG data*/], {type: "image/jpeg"}),
url = (window.URL || window.webkitURL),
objectUrl = url.createObjectURL(blob);
// use the object URL, eg:
var img = new Image();
img.onload = function()
{
// release the object URL once the image has loaded
url.revokeObjectURL(objectURL);
};
// trigger the image to load
image.src = objectURL;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)