本章收录笔者真实遇到过的面试题,以及一些常见的面试题。
如何实现大文件上传以及秒传
大文件上传主要涉及以下几个技术点:
分片上传
- 前端使用 Blob.slice() 将文件切成多个小块
- 使用 FormData 将每个分片和其他信息(如文件名、分片序号等)一起上传
- 服务端接收分片并保存
- 所有分片上传完成后,服务端进行分片合并
断点续传
- 前端在 localStorage 中记录已上传的分片信息
- 上传中断后重新上传时,先获取已上传的分片信息
- 只上传未完成的分片
- 服务端需要提供接口查询已上传的分片
秒传