网站建设英文方案,网站开发 jz.woonl,网页设计与制作课程心得,定制网站建设案例展示引言
文件上传功能是我们开发中经常会遇到的功能点,当日常开发中遇到小文件#xff08;比如#xff1a;头像#xff09;#xff0c;可以直接将文件转为字节流直接上传到服务器上即可。但是当遇到大文件这种#xff08;比如#xff1a;一部电影至少1个G#xff09;该怎么…引言
文件上传功能是我们开发中经常会遇到的功能点,当日常开发中遇到小文件比如头像可以直接将文件转为字节流直接上传到服务器上即可。但是当遇到大文件这种比如一部电影至少1个G该怎么上传怎么快速上传传到一半断了如何规避从头再次上传
接下来我们看看怎么解决这些问题
分片上传
我相信大家肯定都听过分片上传下面我们具体看一下
什么是分片上传
分片上传顾名思义就是将我们需要上传的文件按照一定的规则比如大小将文件分割成不同的数据块俗称的part来进行分批量的上传上传完成后再交给服务端对所有上传完成的文件进行汇总整合为我们原来的的初始文件。
使用场景
较大文件上传网络环境不太稳定可能会有断网重新上传的风险存在的情况下
断电续传
断点续传我们相信大家肯定不陌生我们之前经常用的迅雷、电驴这些都会有断点续传的功能
什么是断电续传
断点续传顾名思义就是在上传或者下载的时候将上传或下载任务一个压缩包或者文件通过程序划分为几个部分每一个部分采用一个线程进行下载或者上传如果遇到了网络故障的情况可以从已经上传或者下载的部分开始继续接着上传或下载没有完成的内容从而避免从头开始上传或者下载。
使用场景
短短续传起始就是分片上传你的一个分支所以他和分片上传使用的场景是一致的
实现步骤
将需要上传的文件按照事先约定的规则分割分割成大小相同的数据库初始化一个上传任务返回上传分片的唯一标识按照一定的策略发送各个分片数据块发送完成后服务端程序根据判断数据上传的完成状态进行数据合并。
好了今天关于实现超大文件上传逻辑就讲解到这里欢迎大家留言交流
也欢迎大家关注我的公众号《coder练习生》