参考资料:

  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 上传进度显示的更多相关文章

  1. silverlight漂亮的文件上传进度显示原理及示例

    silverlight漂亮的文件上传进度显示原理及示例 作者:chenxumi 出处:博客园  2009/11/27 13:37:11 阅读 1219  次 概述:在网站根目录web.config里配 ...

  2. 使用element UI el-upload组件实现视频文件上传及上传进度显示方法总结

    实现效果: 上传中: 上传完成: 代码: <el-form-item label="视频上传" prop="Video"> <!-- acti ...

  3. axios+Vue上传文件显示进度

    一,前言 最近在用Vue,然后上传文件时需要显示进度,于是网上搜了一下,经过自己实测终于也弄明白了 二,效果 三,代码 HTML代码 <div id="app"> &l ...

  4. servlet上传文件+上传进度显示

    效果图 功能描述 1.使用jquery.form.js实现异步上传功能,并显示上传进度 2.servlet中保存上传的文件到指定文件夹 3.查看已经上传的文件 4.不同文件类型用不同图标显示 下载 h ...

  5. 安卓自定义View实现图片上传进度显示(仿QQ)

    首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看下图我们实现的效果: 实现原理很简单,首先我们上传图片时需要一个进度值progress,这个不管是自己写的上传的方法还是使用第三方 ...

  6. 阿里云 oss 小文件上传进度显示

    对阿里云OSS上传小文件时的进度,想过两个方法:一是.通过多线程监測Inputstream剩余的字节数来计算,可是由于Inputstream在两个线程中共用,假设上传线程将Inputstream关闭, ...

  7. 一个简单的ajax上传 上传进度显示

    本例用了jquery.form.js请到演示页面查看 CSS Code <style> form { display: block; margin: 20px auto; backgrou ...

  8. ajax上传文件显示进度

    下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...

  9. vue多文件上传进度条 进度不更新问题

    转自 hhttp://www.cnblogs.com/muge10/p/6767493.html 感谢这位兄弟的文章,之前因为这个问题 ,我连续在sgmentflow上提问过多次,完全没人能回答.谢谢 ...

随机推荐

  1. Java生鲜电商平台-Spring Cloud微服务架构图

  2. SpringBoot(二):SpringBoot 热部署

    1.配置pom: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  3. JS基本语法---while循环---练习

    JS基本语法---while循环---练习 练习1: 求6的阶乘 var ji = 1;//存储最终的阶乘的结果 var i = 1;//开始的数字 while (i <= 6) { ji *= ...

  4. Xcode 11新建工程.--iOS 13 SceneDelegate适配

    收录文章::::::::::::::: iOS 13 适配要点总结 在Xcode 11 创建的工程,运行设备选择 iOS 13.0 以下的设备,运行应用时会出现黑屏现象.原因: Xcode 11 默认 ...

  5. Android开源日志框架xlog

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/144 xlog的优点 在开发过程中,避免不了要使用日志组件 ...

  6. [视频教程]利用SSH隧道进行远程腾讯云服务器项目xdebug调试

    我的远程服务器是腾讯云的ubuntu系统机器,本地我的电脑系统是deepin的系统,使用的IDE是vscode.现在就来使用本地的IDE来调试腾讯云中为网站项目实现逻辑是访问网站域名后,请求被转发给腾 ...

  7. nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)

    插入两个网站: nginx + lua 的OpenResty 开发 跟我学OpenResty(Nginx+Lua)开发目录贴 两个都是 可以根据目录一步步学习的. 1. 版本下载 nginx版本为 n ...

  8. Ubuntu18.04 安装TensorFlow 和 Keras

    TensorFlow和Keras是当前两款主流的深度学习框架,Keras被采纳为TensorFlow的高级API,平时做深度学习任务,可以使用Keras作为深度学习框架,并用TensorFlow作为后 ...

  9. 2.Java基础_Java常量

    /* 常量: 在程序执行过程中,其值不可以发生改变的量 常量分类: 字符串常量: 用双引号括起来的内容. "Hello,World!" 整数常量: 不带小数的数字. 666,-88 ...

  10. 爬虫 xpath 获取方式

    回顾 bs4 实例化bs对象,将页面源码数据加载到该对象中 定位标签:find('name',class_='xxx') findall() select() 将标签中的文本内容获取 string t ...