我正在尝试获取单个文件对象,并按指定的块大小将其拆分为块.
在我的示例中,尝试将单个文件拆分为1MB块.所以我弄清楚需要多少块,然后我试图从’offset’开始切片文件(当前块我在*块大小上),并切掉一个块大小.
我的第一个切片正确地以1MB出现,但随后的切片变为0,任何想法为什么?
这里有一个工作的codepen:
在我的示例中,尝试将单个文件拆分为1MB块.所以我弄清楚需要多少块,然后我试图从’offset’开始切片文件(当前块我在*块大小上),并切掉一个块大小.
我的第一个切片正确地以1MB出现,但随后的切片变为0,任何想法为什么?
这里有一个工作的codepen:
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++;
}
解决方法
正在切断错误的目的:
console.log(file.slice(offset,chunkSize));
本来应该
console.log(file.slice(offset,offset+chunkSize));