码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2020-01-17 18:39:58      阅读:419      评论:0      收藏:0      [点我收藏+]

标签:tar   width   后端   code   就是   根据   err   reader   bsp   

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

技术图片

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

技术图片

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

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

技术图片

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

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

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

技术图片

 

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

 技术图片

 

 

 

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

 

 

 

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

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

标签:tar   width   后端   code   就是   根据   err   reader   bsp   

原文地址:https://www.cnblogs.com/july-lin/p/12206973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!