根据百度网盘的上传原理,自己写大文件上传

Posted july-lin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据百度网盘的上传原理,自己写大文件上传相关的知识,希望对你有一定的参考价值。

在之前大文件的上传我都是通过FilderReader获取文件的base64然后转为Blob在一段一段截取上传,但是这个方法有个弊端就是很大的文件的时候获取文件的base64会使整个浏览器崩溃卡死,后面我去看了一下百度网盘的上传原理

技术图片

我们可以看到百度是通过类似表单提交的方式上传文件的,这样子似乎不需要把文件转化为base64减少了浏览器的开销。那个让我们来动手做一个大文件上传吧

技术图片

 这里用input标签来获取需要上传的文件

获取到file对象以后我们就可以得到

技术图片

这样一个对象里面就是文件的大小名字等信息

接下来我们可以通过size判断文件的大小,对大文件进行切割上传处理

大文件上传的话我们需要告诉后端切割的总公块数和当前是那一块这样子后端可以对数据进行处理

技术图片

 

这里我们通过step控制切割的大小,star和end表示该次上传的文件开始个结束的数据位置,totalindex是总共切割的个数,index是当前上传的个数

 技术图片

 

 

 

以上就是我的大文件上传的方法~~~~

 

 

 

快过年了,在这里提前祝大家新年快乐!!!!!!!!!!!!

以上是关于根据百度网盘的上传原理,自己写大文件上传的主要内容,如果未能解决你的问题,请参考以下文章

使用pcs api往免费的百度网盘上传下载文件

百度网盘中文件超出大小4G限制,请至PC客户端上传大文件什么意思?

关于Alist挂载网盘的问题?

基于百度网盘的自动化测试方案设计

《阿里云盘》上传视频文件教程

大文件秒上传的原理是啥?