2015-10-01 78 views
6

私は1つのファイルオブジェクトをとり、指定されたチャンクサイズでチャンクに分割しようとしています。 私の例では、1つのファイルを1MBのチャンクに分割しようとしています。だから私はそれが取るだろうチャンクの数を把握し、私は 'オフセット'(現在のチャンク私は*チャンクサイズにある)から始まるファイルをスライスしようとしていると、チャンクサイズをスライスします。 私の最初のスライスは1MBで正常に出てきますが、それ以降のスライスは0になります。 は作業ここcodepenがあります:ファイルをJavascriptでチャンクに分割する

http://codepen.io/ngalluzzo/pen/VvpYKz?editors=001[1]

var file = $('#uploadFile')[0].files[0]; 
    var chunkSize = 1024 * 1024; 
    var fileSize = file.size; 
    var chunks = Math.ceil(file.size/chunkSize,chunkSize); 
    var chunk = 0; 

    console.log('file size..',fileSize); 
    console.log('chunks...',chunks); 

    while (chunk <= chunks) { 
     var offset = chunk*chunkSize; 
     console.log('current chunk..', chunk); 
     console.log('offset...', chunk*chunkSize); 
     console.log('file blob from offset...', offset) 
     console.log(file.slice(offset,chunkSize)); 
     chunk++; 
    } 
+1

されている必要がありますあなたのcodepenは私のために働いているようです。あなたのコードと上記コードとの違いの1つは、あなたのcodepenが 'file.slice(offset、chunkSize)'の代わりに 'file.slice(offset、offset + chunkSize)'と正しく言うことです。 whileの条件は 'while(chunk

+0

ええ、以下の解決策でcodepenを更新しました。見てくれてありがとう! –

答えて

4

は間違った端をオフにスライスした

console.log(file.slice(offset,chunkSize)); 

console.log(file.slice(offset,offset+chunkSize)); 
関連する問題