解決したいこと
javaScriptで画面からアップロードしたファイルをバイナリで取得方法
※大容量ファイルのアップロードなので、FileReaderのreadAsArrayBufferを利用したい
例)
OutSystemsのリアクティブでファイルアップロード処理を作ってます。
javaScriptで画面からアップロードしたファイルをバイナリで取得方法について、FileReaderのreadAsdataURLを利用してファイルのバイナリデータを取得できたが(以下のソースをご参照)、しかし大容量ファイルをアップロード時readAsdataURLだとメモリパンクするので
readAsArrayBufferで1MBずつバイナリデータを取得方法を教えてください
発生している問題・エラー
readAsArrayBufferでのバイナリデータ取得
readAsDataURL該当するソースコード
JavaScript
1funcion readAndSend(file){ 2 var reader = new FileReader(); 3 reader.addEventListener('load',function){ 4 //readAsDataURL 5 var startOfBinary =this.result.indexOf(";base64,")+8; 6 var lengthBinary=this.result.length - startOfBinary ; 7 var fileBinary = this.result.substr(startOfBinary,lengthBinary); 8 9 //↑ここでfileBinaryファイルのバイナリデータを取得できた 10 }.false); 11 reader.readAsDataURL(file); 12}
readAsArrayBuffer該当するソースコード
JavaScript
1funcion readAndSend(file){ 2 var reader = new FileReader(); 3 var chunkSize = 1024*1024; //1MB毎読み取り用 4 reader.addEventListener('load',function){ 5 //readAsArrayBuffer 6 7 var fileBinary = new Unit8Array(reader.result); 8 9 //↑ここでfileBinaryファイルのバイナリデータを取得できない 10 11 }.false); 12 reader.readAsArrayBuffer(file); 13}
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。