我正在尝试获取单个文件对象,并按指定的块大小将其拆分为块.
在我的示例中,尝试将单个文件拆分为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));