<input type="file" id="file"><script> // blob类型把文件切成多个文件,二进制类型。 // blob协议 具有上传到后端之前先把内容展示到页面的能力 document.getElementById('file').addEventListener('change',(event) => { const file = event.target.files[0] console.log(file.slice(0,102400)) console.log(Object.prototype.toString.call(file.slice(0,102400))) // [object Blob] /** * 通过bolb协议在图片未上传到服务器的时候直接显示出来 */ const URL = window.URL; const blobUrl = URL.createObjectURL(file) // blob协议创建出来的地址可以直接访问 document.body.appendChild( document.createElement('img') ).src = blobUrl console.log(blobUrl); // 释放对象 为了提升性能和减少内存状态 window.onload = function () { URL.revokeObjectURL(blobUrl) } /** * 切片 */ let cur = 0; let size = 1024 * 1024; // 1m // blob 数组存放多个切片 const fileChunkList = [] // while(cur < file.size){ fileChunkList.push({ file:file.slice(cur , cur + size) }) cur += size } })</script>