网站首页 > java教程 正文
vue上传大文件的解决方案,vue上传大文件的思路,vue上传大文件的源码,vue上传大文件的实例,vue上传文件夹,vue分块上传大文件,vue分片上传大文件,vue切片上传大文件,vue大文件断点续传,vue加密上传大文件,
网上搜了一圈,基本上都是用的HTML5实现的,也就是chrome提供的API,小文件还好,比如几十MB,500MB左右的话,单个文件上传还凑合,但是文件大点,文件一多就不行了。比如1G以上,或者10G以上,100个文件,1000个文件同时传,就有点不行了,主要就是页面反应慢,卡顿。
我们之前用过WebUploader,上传小一点的文件还不错,但是大点的文件就不行了,比如上传5G的文件,上传经常会自动中断,不太稳定。
前端用了VUE2,VUE3,JQ,后端用了JAVA,JSP,SpringBoot,要求在前端提供大文件上传的功能,文件大小约为20G左右,可能偶尔有文件会超过这个大小,但是不多,
我们的要求就是上传大文件不能出现无缘无故中断的现象,要支持断点续传,上传速度不能太慢,上传的数据不出错,基本就是这些了。
断点续传,就是在文件上传的过程中发生了中断,人为因素(暂停)或者不可抗力(断网或者网络差)导致了文件上传到一半失败了。然后在环境恢复的时候,重新上传该文件,而不至于是从新开始上传的。
断点续传的功能是基于分块上传来实现的,把一个大文件分成很多个小块,服务端能够把每个上传成功的分块都落地下来,客户端在上传文件开始时调用接口快速验证,条件选择跳过某个分块。
实现原理,就是在每个文件上传前,就获取到文件MD5取值,在上传文件前调用接口,如果获取的文件状态是未完成,则返回所有的还没上传的分块的编号,然后前端进行条件筛算出哪些没上传的分块,然后进行上传。
当接收到文件块后就可以直接写入到服务器的文件中。
1.下载示例
https://gitee.com/xproer/up6-vue-cli
将up6组件复制到项目中
示例中已经包含此目录
1.引入up6组件
2.配置接口地址
接口地址分别对应:文件初始化,文件数据上传,文件进度,文件上传完毕,文件删除,文件夹初始化,文件夹删除,文件列表
参考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.处理事件
启动测试
启动成功
效果
数据库
源码工程文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源码报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
产品源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
授权码生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1
猜你喜欢
- 2024-11-27 大小仅1M的SHP文件读写APP Shapefile over Map
- 2024-11-27 Java内存区域
- 2024-11-27 「深入理解Java虚拟机」第二章 Java内存区域与内存溢出异常
- 2024-11-27 Springboot+VUE+MiniO来优雅实现文件存储
- 2024-11-27 Tomcat项目内存参数调优
- 2024-11-27 Java应届毕业生应该掌握哪些技能
- 2024-11-27 VUE-超大文件上传-如何上传文件-大文件上传
- 2024-11-27 一个文件占多少内存?看字节
- 2024-11-27 Springboot项目修改文件传输(minio)限制大小
- 2024-11-27 「编译引擎」-学习阅读Class文件结构(javap版)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)