知道何时下载ObjectUrl的方法(撤销它...)

时间:2014-10-30 01:17:28

标签: javascript revokeobjecturl

我想在用户下载后删除我的Blob:

var url = window.URL.createObjectURL(myBlob);           
var a = document.createElement("a");
a.download = 'myFile' + fileExtension;
a.href = url;
a.click();//download launched

/** Here i want to revoke the ObjectURL and delete my Blob, but i dunno when? **/

我可以不使用虚拟计时器吗?

1 个答案:

答案 0 :(得分:2)

要在访问blob时撤消URL,请使用click事件处理程序。

a.onclick = function () {
    window.URL.revokeObjectURL(url);
};

要检查blob是否已实际下载,您需要通过XHR下载它,您可以使用progressload事件监控其下载进度。据我所知,您无法监控JavaScript中的下载进度,以便在XHR之外启动。

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Monitoring_progress