【发布时间】:2015-08-15 17:59:21
【问题描述】:
我正在摆弄WebRTC 文件共享,但现在遇到了blob 的问题。似乎(至少在谷歌浏览器上)blob 文件的限制为 500mb。
我的接收器收到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");
}
【问题讨论】:
标签: javascript file blob webrtc file-sharing