大文件上传架构设计

本文详细介绍了大文件秒传和断点续传的实现方案。前端通过将大文件拆分为多个小文件,计算每个文件的MD5值并并发上传。后端接收到请求后,首先检查文件是否存在,已存在则返回文件地址,否则存储文件并记录状态。当所有文件上传完成后,后端进行数据合并,返回最终文件。该技术提高了文件上传的效率和用户体验。
摘要由CSDN通过智能技术生成

目录

1.背景和功能

2.前端需要做什么?

3.后端需要做什么?

4.总结

5.参考


1.背景和功能

        背景:文件大小1个G

        实现的功能:秒传,文件续传/断点续传,文件下载。

2.前端需要做什么?

        分四步

        1.对文件进行拆分成比如20个文件,每个文件50m

        2.数据开始上传 传输数据内容 文件的大小 文件名字 文件的字节码做的md5值

        3.并发上传文件,如果服务端返回错误,重新上传指定的文件快。

        4.数据完成 触发后端合并数据。

3.后端需要做什么?

        分三步

        1.数据开始上传 生成流水号id 校验文件是否上传过 文件名_文件大小_md5值,存在直接返回文件地址,没有记录一条数据,并标记文件上传的状态。

       2.并发上传id 跟上面一样,先校验文件是否上传过,如果上传过直接返回,没有上传文件到oss或者fastdfs,并在db中记录文件的路径。

        3.数据完成 校验数据是否完成,如果不完整,返回确实的数据块,如果完成,进行数据合并,并返回最终的数据。

4.总结

        前后端分别的功能点:

前端

后端接口

功能

1.数据大文件切分

2.数据开始上传

校验文件有没有上传过,如果已经上传过,直接返回,已经上传的文件路径

秒传

3.数据正在上传, 并发上传

失败返回对应失败的文件名,成功,上传到oss/fastdfs上,并记录在db中

断点续传/上传

4.数据完成

触发数据合并

数据合并

5.参考

1.https://zhuanlan.zhihu.com/p/350173645

我是厚积薄发,欢迎大家一键三连,欢迎下方留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值