【问题标题】:Way to know when an ObjectUrl has been downloaded (to revoke it...)知道何时下载 ObjectUrl 的方法(撤销它......)
【发布时间】:2014-10-30 01:17:27
【问题描述】:

我想在用户下载 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? **/

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

【问题讨论】:

    标签: javascript revokeobjecturl


    【解决方案1】:

    要在访问 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

    【讨论】:

      猜你喜欢
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      相关资源
      最近更新 更多