获取到文件对象后,由于业务需要,通常需要对文件进行一系列的操作
根据文件大小的不同,会引发各种性能相关的问题,为了提升用户体验和响应速度,针对不同的问题来制定相对应的优化方案
获取文件对象
-
普通函数方式
fileInput.addEventListener('change', function() { const files = [...this.files] }) -
箭头函数方式
fileInput.addEventListener('change', () => { const files = [...event.target.files] }) -
注意事项
fileInput.addEventListener('change', () => { const files = [...event.target.files] event.target.value = null })选择文件后,文件名会存放在表单的
value值中,如果该值选取前后不发生变化,就不会触发change事件在未选取任何文件对象的情况下,点击取消关闭文件选择框时,则会触发
change事件基于以上两种情况,一定要清空表单的
value值
操作文件对象
-
计算文件哈希值
作为文件的唯一标识,既可以防止同一文件重复上传(避免浪费带宽),又可以用于扩展业务处理 -
文件类型校验
-
截取视频封面
-
生成通用唯一识别码
-
适当的场景使用合适的图片
一起学习,加群交流看 沸点