vue 上传进度显示
参考资料:
https://ask.csdn.net/questions/767017
https://www.cnblogs.com/best-fyx/p/11363506.html
我使用的是element-ui中的 Upload 上传 组件,最终效果

组件对应的 on-progress事件绑定的方法
handleProgressing(event, file, fileList) {
var per = (event.loaded * ) / event.total
var size = event.total / /
this.step = 2.77
this.timeSpan =
per = per * 0.75
if (per > 72.1) {
if (!this.isTimer)
if (size > ) {
this.step = 1.43
this.timeSpan =
}
if (size > ) {
this.step = 0.43
this.timeSpan =
}
if (size > ) {
this.step = 0.33
this.timeSpan =
}
if (size > ) {
this.step = 0.21
this.timeSpan =
}
if (size > ) {
this.step = 0.17
this.timeSpan =
}
if (size > ) {
this.step = 0.09
this.timeSpan =
}
if (size > ) {
this.step = 0.07
this.timeSpan =
}
if (size > ) {
this.step = 0.06
this.timeSpan =
}
if (size > ) {
this.step = 0.05
this.timeSpan =
}
if (size > ) {
this.step = 0.03
this.timeSpan =
}
//一定在这里定义timer变量,然后在定时器里面清除,不然不好用
var isTimer1 = setInterval(() => {
if (this.p >= ) this.step = 0.01
this.p = parseFloat(this.p) + this.step
if (this.p >= 99.97) this.p = 99.99
this.processStr = this.p.toFixed() + '%'
console.log(this.processStr)
if ((this.processStr = '100%')) {
console.log('window')
window.clearInterval(isTimer1)
}
}, this.timeSpan)
// console.log(' this.isTimer')
// console.log(this.isTimer)
} else {
this.processStr = per.toFixed() + '%'
}
}
上传成功的方法:
successlUpload() {
this.processStr = '100%' //设置这个标志位,定时器里面的清除逻辑就会执行
this.isTimer =
this.$refs.uploadFile.abort()
this.uploading = false
},
上传成功后把显示的字符串改为100%就可以了。
我这个写的原因是我的上传文件分两块。
过程: 1.vue上传文件到接口服务器(webapi)
2.接口把文件上传到azure
所以我把上传进度显示改为模拟的了,按照文件的大小设置上传进度的step。
你们直接报错到服务器的话可以不使用我代码的这一块。
vue 上传进度显示的更多相关文章
- silverlight漂亮的文件上传进度显示原理及示例
silverlight漂亮的文件上传进度显示原理及示例 作者:chenxumi 出处:博客园 2009/11/27 13:37:11 阅读 1219 次 概述:在网站根目录web.config里配 ...
- 使用element UI el-upload组件实现视频文件上传及上传进度显示方法总结
实现效果: 上传中: 上传完成: 代码: <el-form-item label="视频上传" prop="Video"> <!-- acti ...
- axios+Vue上传文件显示进度
一,前言 最近在用Vue,然后上传文件时需要显示进度,于是网上搜了一下,经过自己实测终于也弄明白了 二,效果 三,代码 HTML代码 <div id="app"> &l ...
- servlet上传文件+上传进度显示
效果图 功能描述 1.使用jquery.form.js实现异步上传功能,并显示上传进度 2.servlet中保存上传的文件到指定文件夹 3.查看已经上传的文件 4.不同文件类型用不同图标显示 下载 h ...
- 安卓自定义View实现图片上传进度显示(仿QQ)
首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看下图我们实现的效果: 实现原理很简单,首先我们上传图片时需要一个进度值progress,这个不管是自己写的上传的方法还是使用第三方 ...
- 阿里云 oss 小文件上传进度显示
对阿里云OSS上传小文件时的进度,想过两个方法:一是.通过多线程监測Inputstream剩余的字节数来计算,可是由于Inputstream在两个线程中共用,假设上传线程将Inputstream关闭, ...
- 一个简单的ajax上传 上传进度显示
本例用了jquery.form.js请到演示页面查看 CSS Code <style> form { display: block; margin: 20px auto; backgrou ...
- ajax上传文件显示进度
下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...
- vue多文件上传进度条 进度不更新问题
转自 hhttp://www.cnblogs.com/muge10/p/6767493.html 感谢这位兄弟的文章,之前因为这个问题 ,我连续在sgmentflow上提问过多次,完全没人能回答.谢谢 ...
随机推荐
- Jquery绑定事件及动画效果
Jquery绑定事件及动画效果 本文转载于:https://blog.csdn.net/Day_and_Night_2017/article/details/85799522 绑定事件 bind(ty ...
- leaflet-webpack 入门开发系列二加载不同在线地图切换显示(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- 我认为现代IDE编辑器应该具有的几个特性和Visual studio 2010增强
工作中要使用 VS 2010, 有好多年没有使用Visual studio 了, 试了一小会, 发现VS 2010 缺少不少现代IDE应有的特性, 我认为重要的是下面几个特性, VS2010 已经是1 ...
- jQuery—自定义HTTP请求
Ajax设置自定义请求头的两种方法 $.ajax({ url: 'http://www.baidu.com', type: 'get', data: JSON.stringify({"nam ...
- Debian创建.desktop文件(Create .desktop file in Debian/Gnome)
在Debian系Linux中,用于标识应用的启动文件.desktop file是位于/usr/share/applications目录下的,Gnome会将这些文件在菜单中展示为启动图标,也可以固定在d ...
- 『010』NoSQL
『010』索引-Database NoSQL [001]- 点我快速打开文章[01-Redis 简单介绍] 更新中
- web前端学习路线(干货)
- xml的建模
xml建模的思路 1.分析需要被建模的文件中有那几个对象 2.每个对象拥有的行为以及属性 3.定义对象从小到大(从里到外) 4.通过23种的设计模式中的工厂模式,解析xml生产出指定对象 建模的好处 ...
- (转)SpringMVC表单多对象传递小技巧——@InitBinder
转:https://www.jianshu.com/p/59771cbf373d 1.问题情景 项目中前端后台的数据传递是必不可少的,比如说我们要在一张表单中提交对象,如果只是一个对象就就很好做,因为 ...
- 深入了解Python
一.Python的风格 Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读.易维护,并且被大量用户所欢迎的.用途广泛的语言. 设计者开发时总的指导思想是,对于一个特定的问题,只要 ...