[英]File slicing in JavaScript results in empty blob
我正在实现基于浏览器的分块文件上传器。 要打开文件,我使用<input type="file" id="fileSelector" />
和这段代码(简化):
$('#fileSelector').on('change', function () {
_file = evt.target.files[0];
});
我将文件切成块,但未将块读入内存(未显式)。
问题 :偶尔(对于上传文件的不到0.1%)从基础文件切下来的块为空。 例如,在上传大文件的过程中,一切顺利,然后在该文件的中间调用:
var _blob = _file.slice(chunk.start, chunk.end, _file.type);
导致空片( _blob.size
为0)。 将此类Blob发送到服务器(.NET 4.6)导致Request.InputStream
为空。 我正在发送出生数据:
_xhr.setRequestHeader('content-type', 'application/octet-stream');
_xhr.send(_blob);
我还应该提到再次调用_file.slice
会产生相同的空blob。 我可以在Chrome 57,Chrome 60(Win和Mac),Mac Safari 10.1.1和Edge 15中观察到这一点。也可以使用其他浏览器。
有什么事吗 我正在考虑的事情:
答案很简单:当上传的文件消失(重命名,删除)时,就会发生这种情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.