Skip to content

result17/uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

main

这个一个react hooks驱动的支持续传的文件上传组件。感谢typescript的强大,让我对此仓库的代码有了统一的接口,前端的所有类型规范在src/global.ts中定义,所有的工具函数在src/utils.ts中声明。后端用express构建,可按实际需要更换为任意的后端框架。此仓库所用工具库,可以到package.json查看,不一一列出。最后,欢迎提issue指出bug和错误。

use

npm install
npm start

todo

多文件并发上传,限制并发连接数,切片策略,按钮的逻辑关系,数据库的连接记录文件更改,将http连接改为websocke连接,将后端的检查文件缓存了

bug

传输exe文件时,会出现Error: EBUSY: resource busy or locked npm/npm#13461 这取决于使用者环境中的反恶意软件,所以不建议传输exe文件。 实测在win10下,npm script 并行执行的是 | 而不是linux的是 &(暂时没有linux系统进行测试),请使用linux的同学自行修改。 (题外话,&& 是串行执行,&是并行执行) npm script

test

测试环境:win10 测试传输大文件续传(ubuntu-18.04.3的镜像)通过。

updata

  • 移除multipart,完全改用XMLHttpRequest,不再采用FormData进行上传二进制数据。
  • 更新文件切片策略,针对文件大小,选择不同的文件切片大小。
  • 使用nginx正向代理express应用,使http协议升级到http2.0,不足之处,可能是并发发起太多请求,使得传输速度大大减低。原本ubuntu-18.04.3的镜像在http1.1中只花80s左右,完成上传,但在http2.0要花费300s。也使得断点续传效率变低。(nginx配置可在server/h2.conf查看)。

thanks

感谢yeyan1996,让我模仿构建了此组件。他仓库还有一篇详细介绍的文章,感兴趣的同学可以前去浏览(虽然我没详细看过)。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published