shfshanyue / Daily-Question

互联网大厂内推及大厂面经整理,并且每天一道面试题推送。每天五分钟,半年大厂中

Home Page:https://q.shanyue.tech

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【Q742】大文件上传,如何获取到读取进度?

NineSenz opened this issue · comments

    <input type="file" id="input" onchange="handleFiles(this.files)" />

当用户选择大文件上传时,浏览区需要花很长时间读取文件,读取完成后才会触发onchange事件

问:

  1. 如何确定用户是选择了文件上传?还是取消了选择文件?
  2. 如果用户选择了文件,如何获取到读取进度?
  1. 选择完文件建立连接后,生成 hash 值给后端,每次后端先判断下是否有 hash 值传过来。
  2. 文件超过一定大小的时候,需要前端进行固定大小的,切片上传
  3. 后端根据切片来接收数据,返回上传进度