gpt4 book ai didi

javascript - 为 URL.createObjectURL 设置自动撤销

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:33 27 4
gpt4 key购买 nike

我正在尝试在 Javascript 中创建一个 blob 来提供一个文件。但是,window.URL.createObjectURL(blob) 创建的链接会随着时间的推移而失效。我希望能够生成一个链接,该链接在页面打开时一直有效。在网上查看,我看到 autoRevoke 选项设置为 true,所以这让我相信 url 在未被积极使用时被撤销。我尝试将其设置为 false,但出现 TypeError。

代码如下:

var res = xhr.response;
var blob = new Blob([res]);
var url = window.URL.createObjectURL(blob, {autoRevoke : false});

这里是错误:

Uncaught TypeError: Type error background.js:52

如何防止 blob 的 url 变为无效?

最佳答案

如果使用此处讨论的 API 将 blob 保存到文件系统: http://www.html5rocks.com/en/tutorials/file/filesystem/

您可以创建一个将持续存在的文件系统 URL。此解决方案确实有提示用户批准保存文件的缺点。

您能详细谈谈用户会看到的功能吗?你要链接到什么?

回应您的评论:只要您想保留对文件内容的引用,我建议将输入元素保留在 DOM 中。如果您要链接到内容,则可以创建一个链接,该链接使用输入元素的唯一 ID 调用一个函数。此函数将按需生成一个 blob URL 并将浏览器转发到该 URL。如果您将 URL 用作 img src 或类似的东西,那么您的应用程序可能具有用户交互,仍然允许您按需创建 blob URL。

关于javascript - 为 URL.createObjectURL 设置自动撤销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616202/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com