Загрузить файл клиент-чан от ChunkHtml

Программисты Html
Ответить
Anonymous
 Загрузить файл клиент-чан от Chunk

Сообщение Anonymous »

Я использую Webrtc для отправки файла подключенному однорангу, и я отправляю файл кусочками. Тем не менее, у меня возникают проблемы с выяснением, как заставить сверстника сохранить /загрузить файл во время потоковой передачи, Chunk by Chunk.

Код: Выделить всё

// sender
dataConnection.send({
'file': file
});

// receiver
dataConnection.on('data', function(fileData) {

var dataView = new Uint8Array(fileData);
var dataBlob = new Blob([dataView]);
var url = window.URL.createObjectURL(dataBlob);

// create 
var link = document.createElement('a');
link.href = url;
link.download = fileName;
document.body.appendChild(link);

// trigger the download file dialog
link.click();
}
< /code>

Этот подход, однако, не подтверждает получение кусков файла и записывает каждый кусок, как он приходит ... он должен ждать, пока весь файл будет прочитан со стороны отправителя и отправлено в приемник.// sender
for (var i = 0; i < fileSize; i += chunkSize) {

var fileReader = new FileReader();

// read next chunk
var blob = file.slice(start, end);
...
fileReader.onload = function(e) {
...
dataConnection.send({ 'blob': blob });
}
fileReader.readAsArrayBuffer(blob);
}
< /code>

Таким образом, я читаю кусок файла по чанку и отправляю каждый кусок в приемник, когда я его читаю. Теперь, единственный способ, которым я знаю, как на самом деле сохранить файл, который отправляется таким образом,-это делать то, что описано в этом сообщении в блоге: 

http://bloggeek.me/send-file-webrtc-data-api>
... Описанный в . Тем не менее, этот подход принимает все куски по мере их появления, хранит их в памяти, затем создает большой Uint8Array 
в памяти, а затем позволяет получателю загружать файл. Это действительно тяжело для памяти и реально ограничено, возможно, на пару сотен МБ, поэтому он не масштабируется.>

Подробнее здесь: https://stackoverflow.com/questions/237 ... k-by-chunk
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»