webuploader分片上传

这篇具有很好参考价值的文章主要介绍了webuploader分片上传。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WebUploader 分片上传的基本原理

  1. 切割文件: 当用户选择一个需要上传的文件时,WebUploader 将这个文件切割成固定大小的切片(chunks),每个切片的大小由配置参数决定。这些切片通常是二进制数据块,每个切片都会分配一个索引标识,以便服务器在接收时能够按照正确的顺序进行组合。
  2. 并行上传: 切片上传允许多个切片同时上传到服务器,从而加快整个上传过程。这可以通过同时发送多个 HTTP 请求来实现,每个请求负责上传一个切片。
  3. 上传切片: WebUploader 使用 AJAX 或其他适当的技术,将每个切片作为一个 HTTP 请求发送到服务器。每个切片的请求都包含必要的元数据,例如文件名、切片索引、切片总数等,以便服务器能够正确地接收和处理这些切片。
  4. 服务器接收和存储: 服务器接收到切片后,会将它们暂时存储在适当的位置,通常是在一个临时目录中。服务器会根据切片的索引标识,确保按正确的顺序接收和存储切片。
  5. 切片合并: 当所有切片都上传完成后,服务器会根据切片的索引顺序将它们按顺序合并成完整的文件。

1 安装

官网上下载最新版本
http://fex.baidu.com/webuploader/download.html
添加到 vue 项目 static 文件下
webuploader分片上传,前端

也可以模块化引入:
npm install webuploader --save
npm install jquery@1.12.4 (使用webuploader需要引入jquery)

2 初始化

略,看官网

3 beforeFileQueued 加入队列前

  vm.uploader.on('beforeFileQueued', function (file) {
    console.log('文件加入队前', file);

    // 添加md5
    vm.uploader.md5File(file)
      // 可以监听进度
      .progress(function (percentage) {
        console.log('计算MD5的进度:', percentage);
      })
      // 完成
      .then(function (val) {
        console.log('md5 result:', val);
      });
  });

这里计算文件 md5 值,也可以监听计算的进度
md5 值可以发给后台,判断当前文件是否已上传

4 uploadBeforeSend

webuploader分片上传,前端
data是上传的分片参数
打断点看一下

webuploader分片上传,前端

文件大小差不多 80M
初始化时设置每个分片 2M
data中的参数可以看到:
chunk 当前第几个分片 1
chunks 分片总数 39
大文件分片上传,此事件会触发多次

断点续传

如果文件上传了一半,可以根据后台的分片数,判断当前哪些分片不需要上传,做到断点续传
执行 deferred.reject(); 会跳过分片上传
https://github.com/fex-team/webuploader/issues/2826文章来源地址https://www.toymoban.com/news/detail-685591.html

到了这里,关于webuploader分片上传的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot+前端文件分片上传

    在日常生活中,文件上传相关的操作随处可见,大到处理大数据量的文件,小到头像上传,都离不开文件上传操作,但是当一个文件的大小超过了某个阈值时,这个文件的上传过程就会变得及其的慢,且会消耗大量网络资源,这是我们不愿意看到的,所以,文件分片上传孕育而生。 文件分

    2024年02月19日
    浏览(38)
  • 前端大文件分片上传 进度条展示 上传暂停、开始、取消

    实现的效果: 1、多个大文件(支持10个G以上)分片上传 2、进度条展示进度 3、控制文件上传暂停和取消 实现关键点: 1、文件预处理(md5计算、请求和进度处理等) 2、分片上传的流程(查询已上传分片、文件合并等) 3、文件的暂停、开始、取消 首先使用file类型的input框

    2024年04月26日
    浏览(37)
  • 前端 + 后端 实现分片上传(断点续传/极速秒传)

    先记录下,后面有时间再去实现 (已实现,可参考 SpringBoot+vue文件上传下载预览大文件分片上传文件上传进度 SpringBoot+vue 大文件分片下载) 可参考链接:vue上传大文件/视频前后端(java)代码 前端slice分片上传,后端用表记录分片索引和分片大小和分片总数,当接受完最后

    2023年04月17日
    浏览(51)
  • 如何使用阿里云OSS进行前端直传以及分片上传

    在使用阿里云OSS进行前端直传时,首先我们需要去阿里云官网注册自己的存储桶,然后申请相关的accessKeyId和accessKeySecret,然后新建一个桶,为这个桶命名以及选择对应的地区。 然后可以根据自己的业务,封装对应的组件,以下是根据我自己的项目,所封装的上传组件,所用

    2024年02月21日
    浏览(45)
  • 【JS】前端分片上传大文件(支持1G以上的超大文件)

           如果将大文件一次性上传, 耗时会非常长,甚至可能传输失败 ,那么我们怎么解决这个问题呢?既然大文件上传不适合一次性上传,那么我们可以尝试将文件分片散上传。 这样的技术就叫做分片上传。分片上传就是将大文件分成一个个小文件(切片),将切片进行

    2024年04月11日
    浏览(50)
  • node.js 前端直接分片上传文件与阿里云OSS的方法

    解决问题:直接由用户上传文件至阿里云OSS,而非经过中间件/后端 官方文档:分片上传 (aliyun.com)​​​​​​​​​​​ 在官方文档中,提供的方法是由中间件上传至oss,调用了path库,但是在浏览器用户没有那么大的权限,我们关注到文档中此表: 类型 参数 说明 必选参

    2024年02月11日
    浏览(56)
  • Springboot+WebUploader优雅实现超大文件的上传(一)

    在软件工程里,在处理“大”的时候一直是一个痛点和难点,如并发大、数据量大、文件大,对硬件进行升级可以解决一些问题,但这并不最聪明的办法,而对于老板来说,这也不是成本最小的办法。作为开发人员来说,在面对类似极端的问题时,只可智取,不可硬刚,最大

    2023年04月09日
    浏览(33)
  • vue(前端):大文件分片上传(包括如何获取文件MD5、逻辑注释讲解)

    3.1 原生input标签实现上传 3.2 获取文件的MD5 3.3 上传文件 3.4 上传文件到后台

    2024年02月21日
    浏览(43)
  • JAVA面试题分享五百一十一:Spring Boot基于WebUploader实现超大文件上传和断点续传

    目录 前言 目标 实现思路 大文件分片 合并分片 断点续传 代码实现 1、webuploader组件中,分片上传怎么开启? 2、webuploader组件中,文件的md5值如何计算? 3、webuploader组件中,分片文件的md5值如何计算? 4、webuploader组件中,分片上传的的请求在哪里触发? 5、前端、后端如何校

    2024年02月19日
    浏览(61)
  • 阿里云OSS上传视频,可分片上传

    uniappH5实现 阿里云OSS上传视频  示例图: 上传视频完整示例代码: 使用npm安装SDK开发包,安装命令为 accessKeyId 和 accessKeySecret 还有 bucket 替换成你的就行。 multipartUpload 的第一个入参是: 文件路径 + 文件名称 第二个入参是文件对象

    2024年02月01日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包