2

一旦用户下载了我的 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? **/

我可以在不使用虚拟计时器的情况下做到这一点吗?

4

1 回答 1

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

于 2014-10-30T01:53:30.637 回答