开发中可能会涉及到需要展示文件上传进度条显示,方便用户知道文件的上传状态。其实进度条展示只需要拿到文件已上传的大小,和被上传文件的总大小即可。废话不多说直接上代码!!

class fileUpload extends XMLHttpRequest {xhr = null;file = {};upStatus = null;formData = null;constructor({ method, url, file }) {super();this.file = file;this.open(method, url, true);//一般情况下文件上传接口都需要token进行身份识别。this.setRequestHeader('token', storage.get("token"));this.formData = new FormData();this.formData.append('file', file);}on({ onProgress, onload, onerror }) {// 文件上传中持续触发this.upload.onprogress = (e) => {onProgress && onProgress(e, this.file);this.upStatus = e;// 分别能获取到文件已经上传大小,及被上传文件总大小。console.log(e.loaded,e.total) // loaded文件已上传大小,total文件总大小};// 文件上传结束触发this.onload = (e) => {onload && onload(e.target);};// 截获上传报错this.onerror = (error) => {console.log(error)};// 执行文件上传this.send(this.formData);return this;}
}/*
* method:请求类型,url:文件上传的接口,file:上传的文件
*/
const fileTttp = new fileUpload({ method: 'POST', url, file });fileTttp.on({onProgress: (e, file) => {console.log(`${(e.loaded/e.total)*100}%`) // 文件上传进度},onload: (data) => {console.log(data,'你的文件上传完毕了!')},onerror: (error) => {console.log(error,'你的文件上传出错了!')}
});

js实现文件上传进度条功能相关推荐

  1. 实现文件上传进度条功能

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  2. 大文件上传 进度条显示(仿CSDN资源上传效果) .

    浏览-选择文件-点击 "上传 "后,效果如下: 弹出透明UI遮罩层 并显示上传这个过程 我这里设置太透明了 效果不是很立体 文件结构如图: 说明:用到"高山来客" ...

  3. jquery和php上传文件进度条,jQuery实现文件上传进度条特效_jquery

    上传进度条通常是由前面jquery加后端了脚本器脚本来实现了,今天我们介绍的是一款基本php+jQuery实现文件上传进度条效果的例子,具体细节如下. 最近呢,一个项目做一个进度条的效果出来,这个之前 ...

  4. php上传完没进度条_php使用APC实现实时上传进度条功能

    这篇文章主要介绍了php使用APC实现实时上传进度条功能,php本身不具备可以带有实时上传进度条功能,但是php提供了一个apc,它可以与php配置实现上传进度条,感兴趣的小伙伴们可以参考一下 php ...

  5. django文件——django + jquery-file-upload上传篇(二)-- 插件实现文件上传+进度条显示 +拖入文件上传...

    django + jquery-file-upload 插件实现文件上传+进度条显示 1.model.py class Fujian(models.Model):name = models.CharF ...

  6. 大文件上传 进度条显示(仿CSDN资源上传效果)

    浏览-选择文件-点击 "上传 "后,效果如下: 弹出透明UI遮罩层 并显示上传这个过程 我这里设置太透明了 效果不是很立体 文件结构如图: 说明:用到"高山来客" ...

  7. php大文件上传插件,PHP 大文件上传进度条实现

    目前我知道的方法有两种,一种是使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc),另外一种方法是使用PECL扩 ...

  8. html如何显示上传进度条,HTML5 Ajax文件上传进度条如何显示

    这篇文章主要介绍了HTML5 Ajax文件上传进度条是如何显示的,基于原生html5实现,不需要falsh支持,进度可以自定义显示,控制灵活,对HTML5上传进度条感兴趣的小伙伴们可以参考一下 原本打 ...

  9. html资源文件记载进度条,HTML5矢量实现文件上传进度条

    在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件 ...

最新文章

  1. python读取视频流做人脸识别_基于 Python + OpenCV 进行人脸识别,视频追踪代码全注释...
  2. 用汇编的眼光看C++(之算术符重载陷阱)
  3. Java 线程详解(一)线程的基础
  4. QLabel显示图像
  5. 主题模型(Topic Model)与LDA算法
  6. 基于FPGA的车牌识别
  7. 对高级程序设计语言的基本理解
  8. 人工智能语音训练数据的制作方式?
  9. Burp suite的扫描模块
  10. Moebius for SQL Server
  11. ado连接mysql_ADO连接各种数据库的基本方法
  12. 希尔伯特及其《几何学基础》电子版(英文PDF),
  13. 基于微信小程序二手跳蚤市场系统设计与实现毕业设计论文
  14. 制作二维码怎么做?手把手教你制作生成二维码
  15. 听力完全攻略-陈海泓(转)
  16. Nginx获取客户端真实ip
  17. 计算机如何取消用户账户控制面板,电脑控制面板里面的用户账户怎么取消密码?...
  18. 魔力宝贝高清单机计划(二) 地图转为tiled map
  19. javaScript如何在ajax外面获得ajax里面的值
  20. 关于微信小程序双向绑定

热门文章

  1. 7-1 小写字母转换为大写字母
  2. 斗罗大陆神界传奇:双人游中最强的团队;斗罗大陆神界传奇:双人游中最强团队的策略
  3. 利用Word随机生成一段文字
  4. ChipScope VCD格式文件转换--用Modelsim打开的WLF格式
  5. 计算机科技文化节宣传标语,科技文化节宣传口号
  6. python中继承和多态
  7. Python读取excel的全部sheet
  8. Ambari大数据的搭建环境准备
  9. php数字转化二进制,php 汉字转化成 二进制 十进制 十六进制 数字
  10. HZ自媒体辅助工具、文字转视频、配音配字幕、视频混剪、生成配音和字幕