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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-09-30 19:57:58

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

php文件上传参考配置与大文件上传

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的,在php文件上传之前,可通过调节php.ini中相关配置指令,来控制上传相关细节. 1.file_uploads=on/off   是否允许通过http方式上传文件 2.max_execution_time=30   允许脚本最大执行时间,超过这个时间就会报错 3.memory_limit=50M   设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了    --enable-memory-limit标

百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法

想把自己百度网盘里的数据分享给朋友,该怎么操作呢?有很多朋友使用百度网盘,可以很轻松的自己的文件上传到网盘上,并可跨终端随时随地查看和分享.下面Mac down小编就给大家介绍一下创建百度网盘 for Mac分享链接的方法,为使用mac版百度网盘的朋友,解决百度网盘Mac版如何分享链接的烦恼. https://www.macdown.com 百度网盘Mac版如何创建分享链接 我们以分享[18126未来教育考试系统]为例,详细介绍Mac版百度网盘分享链接的方法步骤. 1.我们首先创建百度网盘for

打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

前一段时间国内的各大网盘百度云盘,金山快盘,360云盘,华为网盘为争夺用户上演空间容量博弈,网盘商们还固执地以为中国的网民都不懂网络技术,可以像某公司那样用一些数字的手段来忽悠用户,参与到网盘商的数字游戏中的公司都心知肚明. 在不需要增加任何网盘上传下载带宽和硬件设备投入的情况下,又可以用TB级别网盘这样的字眼来夺人眼球,在网络上大肆炒作一番,这比用钱买广告来推广网盘有效得多了.在这场网盘炒作中,率先“挑起事非”的两家百度网盘和360网盘获利最多. 尤其是百度网盘,应该算正式成长为国内网盘界中老

Aria2 百度网盘下载教程

感谢: https://www.chiphell.com/thread-1228502-1-1.html 迅雷离线下载需要迅雷会员功能 转战百度云 打开如下连接 https://github.com/acgotaku/BaiduExporter(在此感谢作者提供脚本) 下载相关Zip文件(该打包文件包含chrome和firefox之脚本,本文引用chrome为例) 解压Zip中chrome整个文件夹出来  打开chrome浏览器 选中右上角选项-工具-扩展程序 勾上 "开发者模式" 再

百度网盘真实地址解析(告别下载百度网盘)

虽然百度网盘限速严重,但还真是离不开呀,大部分网站都把有的没的通过百度网盘分享给我们下,一些小文件还好,不需要下载网盘,但一些比较大的,就要下载网盘了,这辣鸡网盘下不下都是那个鸟样,还不如不下,还节约硬盘空间. 之前有人分享了http://so.jutuit.com/yy.html这个搜趣网,能获取到百度网盘里内容的下载链接,但现在不好用了,一直都是503(开发者看到了,麻烦修复下呀) 于是又百度了许久,终于又找到了一个方法. 好了,废话那么多,上教程. 图文并茂: 原网址:http://www

3个方法解决百度网盘限速 (2018-07-20)

360网盘关闭后,百度似乎要成为国内网盘的唯一选择,然而百度云下载速度太慢,显然是被限速了,吃相难看.下面有3个方法解决百度网盘限速的问题,演示的下载文件是大于1G的一个 War3.zip 单文件(用拖拽的方法打开,否则显示页面不存在),使用的宽带是电信20M,百度限速后的下载速度只有256KB/s,而理论上的下载速度是可以达到2M/s的.奶酪也将持续关注百度网盘限速的问题. 1. 百度网盘下载助手脚本 - 2018-04-15更新[最长久] 最早是网友"有一份田"制作的脚本百度下载助

【免费百度网盘不限速】爱奇艺万能联播 百度网盘不限速的方法

大家都知道其实爱奇艺和某度就是一家的,最新的万能联播版本,加入了很多功能,感觉很不错.最最最主要是支持百度云不限速下载,百度网盘干什么用的就不用多解释了.资源确实丰富,但是难免有时候要下载一些文件资料,尤其是比较大的文件,百度网盘客户端的下载速度可真是不咋地..你当然可以选择充值百度超级会员,不过凯哥想说的是,其实还是有其他的方法,能够突破限制,通过第三方下载软件,实现高速下载. 百度网盘文件免费高速下载的方法,这次咱们利用一个百度官方方法的例子来解决这个问题,分享给大家,于是就有了今天这篇文章

内网/外网大文件上传解决方案

最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据.上传影音文件等.如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成. 下面从文件上传方式入手,整理大文件上传的思路,并给出了相关实例代码,由于PHP内置了比较方便的文件拆分和拼接方法,因此服务端代码使用

利用邓西百度网盘消息群发工具对百度网盘的群组、好友进行管理,批量分享文件

做百度网盘营销的小伙伴经常需要对百度网盘的群组.好友进行管理,但是百度网盘APP或者网页版里面对于这方面的功能太弱了,下面介绍如何利用工具对百度网盘群组.好友进行集中管理,并批量分享文件. 一,下载邓西百度网盘消息群发工具“https://pan.baidu.com/s/13yPBCs9Et_tQ9HVVCu5b2A” 二,运行程序后,添加帐号并登录,如图: ? 三.百度网盘好友管理(好友选项卡),可以查找好友,筛选单向,双向好友. 1.消息群发(仅支持百度网盘双向好友,可批量分享文件,发送消息