gpt4 book ai didi

javascript - 绕过 blob 500mb 限制以在磁盘上保存更大的文件

转载 作者:行者123 更新时间:2023-11-30 00:28:19 25 4
gpt4 key购买 nike

我正在摆弄 WebRTC 文件共享,但现在遇到了 blob 的问题。似乎(至少在谷歌浏览器上)blob 文件有 500mb 的限制。
我的 Reciever 接收 ArrayBuffers 并从中生成 blob,然后将其存储在数组中。当接收到最后一个 ArrayBuffer - 构建一个大的 blob,建立链接并提供给用户下载文件。我试图发送 800mb 的文件,但大 blob 的上限为 500mb,因此文件已损坏。据我所知,这是一个众所周知的 blob 内存限制,并且可以通过某种方式绕过它(我想 https://www.sharefest.me/ 做到了吗?),但是如何绕过?
或者用户可以通过其他方式获取组合数组缓冲区的链接并将它们保存为文件?

这是我的收件人代码:

var finalBlob;   
var ind = 0;
var f = files_r[ind];//file
var part = f.currentChunk;
var blobs = f.fileblobs;

blobs.push(new Blob([data], {
type: f.mime
}));
f.currentChunk++;

if (f.currentChunk === f.totalchunks) {
finalBlob = new Blob(blobs, {
type: f.mime
});
var link = g(ind + '_link');
var url = URL.createObjectURL(finalBlob);
link.href = url;
link.download = f.name;
console.log("finished");
}

最佳答案

您应该将 blob 保存到 IndexedDB,然后查询它们,创建生成的 blob 并提供指向它的链接。看看这里的讨论https://code.google.com/p/chromium/issues/detail?id=375297 .我使用 Dexie(IndexedDB 的包装器)将 block 保存/检索到 IndexedDB。

关于javascript - 绕过 blob 500mb 限制以在磁盘上保存更大的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587677/

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