gpt4 book ai didi

indexeddb - 我可以将视频作为 blob 存储在 indexedDB 中吗?

转载 作者:行者123 更新时间:2023-12-04 04:59:49 29 4
gpt4 key购买 nike

我正在编写一个 Web 应用程序,它位于本地台式计算机上,可以在 Firefox 或 Chrome 中运行。它使用 HTML5 和本地数据库存储:IndexedDB .用户需要能够从在线存储下载视频并将它们自动添加到应用程序中。我不能使用 ajax 来抓取和检查文件(因为它在本地文件系统上,所以它在同一来源失败),所以他们点击一个链接在新选项卡中打开远程托管的视频并提示保存到电脑。此时,我的应用程序不知道文件在哪里或它们是否存在于本地(取决于用户将其保存到正确的文件夹)。 Firefox 也没有 FileSystem API。

因此,相反,我想让用户更无缝地实现这一点,并让应用程序通过 JSONP 将 blob 数据下载到 indexedDB 中。但随后它需要通过 video 显示sourceobject闪光标签。这可能吗?我可以将这些标签的源/数据设置为实际数据而不是 URL 吗?所以像:

伪代码

<video><source src="data:video/mp4;base64,iVBORw0..."/></video>
<video><object data="data:video/flv;base64,iVBORw0..."/></video>

有这样的吗?

最佳答案

是的,您可以使用像您显示的那样的 dataURL 来查看视频。
特定的浏览器喜欢特定的格式,以及另一个线程,但这是可能的。
数据 url 格式基本上是 "data:"+mimeType+[base64 flag?]+","+ btoa(data)。
所以,你可以很容易地从一个字符串中创建一个 dataURL,如果你有的话。

我建议使用 objectURL相反,因为视频可能非常大,而 dataURL 在大文件上往往表现不佳。

您可以从 blob 创建对象 URL,这听起来像是您拥有的。
如果没有,您可以从 array buffer 创建 blob , binary string , dataURLajax response .

关于indexeddb - 我可以将视频作为 blob 存储在 indexedDB 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289477/

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