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上提问过多次,完全没人能回答.谢谢 ...
随机推荐
- Java生鲜电商平台-Spring Cloud微服务架构图
- SpringBoot(二):SpringBoot 热部署
1.配置pom: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...
- JS基本语法---while循环---练习
JS基本语法---while循环---练习 练习1: 求6的阶乘 var ji = 1;//存储最终的阶乘的结果 var i = 1;//开始的数字 while (i <= 6) { ji *= ...
- Xcode 11新建工程.--iOS 13 SceneDelegate适配
收录文章::::::::::::::: iOS 13 适配要点总结 在Xcode 11 创建的工程,运行设备选择 iOS 13.0 以下的设备,运行应用时会出现黑屏现象.原因: Xcode 11 默认 ...
- Android开源日志框架xlog
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/144 xlog的优点 在开发过程中,避免不了要使用日志组件 ...
- [视频教程]利用SSH隧道进行远程腾讯云服务器项目xdebug调试
我的远程服务器是腾讯云的ubuntu系统机器,本地我的电脑系统是deepin的系统,使用的IDE是vscode.现在就来使用本地的IDE来调试腾讯云中为网站项目实现逻辑是访问网站域名后,请求被转发给腾 ...
- nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)
插入两个网站: nginx + lua 的OpenResty 开发 跟我学OpenResty(Nginx+Lua)开发目录贴 两个都是 可以根据目录一步步学习的. 1. 版本下载 nginx版本为 n ...
- Ubuntu18.04 安装TensorFlow 和 Keras
TensorFlow和Keras是当前两款主流的深度学习框架,Keras被采纳为TensorFlow的高级API,平时做深度学习任务,可以使用Keras作为深度学习框架,并用TensorFlow作为后 ...
- 2.Java基础_Java常量
/* 常量: 在程序执行过程中,其值不可以发生改变的量 常量分类: 字符串常量: 用双引号括起来的内容. "Hello,World!" 整数常量: 不带小数的数字. 666,-88 ...
- 爬虫 xpath 获取方式
回顾 bs4 实例化bs对象,将页面源码数据加载到该对象中 定位标签:find('name',class_='xxx') findall() select() 将标签中的文本内容获取 string t ...