ファイル転送サービスを構築するために WebRTC データ チャネルを使用しています。
30Mb程度以下の小さなファイルではうまくいきます。現在、受信側ではファイル データをメモリに保存しているだけです。すべてのデータが転送されたら、ファイルを保存します。
このようなちょっと:
//On the recieving side
var dataArray = [];
var dcOnMessage= function(event){
dataArray .push(event.data);
if(bytesToRecieve == 0)
{
var blob = new Blob(dataArray ,{type: incFileDesc.type});
reader.onload = function (event) {
saveToDisk(event.target.result,incFileDesc.name);
}
reader.readAsDataURL(blob);
}
}
var saveToDisk = function(fileUrl, fileName) {
var save = document.createElement('a');
save.href = fileUrl;
save.target = '_blank';
save.download = fileName || fileUrl;
var event = document.createEvent('Event');
event.initEvent('click', true, true);
save.dispatchEvent(event);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
したがって、データをディスク上のファイルに保存し、そのファイルに直接書き込みたいと考えています。しかし、どうすればそれを行うことができますか?