giscafer / upload

文件上传思路

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

upload

解题思路:

  • 原理基本文件上传实现(前端+后端)
  • 拖拽上传,粘贴上传
  • 大文件分片上传
  • 断点续传
  • 计算hash优化(web-worker、time-slice)
  • 抽样hash (布隆过滤器)
  • 请求并发数控制&重试
  • 慢启动策略(碎片清理)

后续思考题:

  1. requestIdleCallback兼容性,如何⾃⼰实现⼀个
    1. react也是⾃⼰写的调度逻辑,以后有机会写个⽂ 章介绍
    1. React⾃⼰实现的requestIdleCallback
  1. 并发+慢启动配合
  2. 抽样hash+全量哈希+时间切⽚配合
  3. ⼤⽂件切⽚下载
    1. ⼀样的切⽚逻辑,通过axios.head请求获取 content-Length
    1. 使⽤http的Range这个header就可以切⽚下载 了,其他逻辑和上传差不多
  1. ⼩的体验优化
    1. ⽐如离开⻚⾯的提醒 等等⼩tips
  1. 慢启动的变化应该更平滑,⽐如使⽤三⻆函数,把变 化率平滑的限制在0.5~1.5之间
  2. websocket推送进度
  3. ⽂件碎⽚分机器存储
  4. ⽂件碎⽚备份
  5. cdn

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

About

文件上传思路


Languages

Language:Vue 62.4%Language:JavaScript 36.0%Language:HTML 1.7%