位置: IT常识 - 正文

el-upload实现上传文件并展示进度条(el-upload上传文件大小限制)

编辑:rootadmin
el-upload实现上传文件并展示进度条

推荐整理分享el-upload实现上传文件并展示进度条(el-upload上传文件大小限制),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:el-upload手动上传文件,el-upload上传文件大小限制,el-upload上传大文件,el-upload上传文件,el-upload上传文件,el-upload上传文件,el-upload上传文件,el-upload上传文件,内容如对您有帮助,希望把文章链接给更多的朋友!

el-upload实现上传文件并展示进度条(el-upload上传文件大小限制)

el-upload在实现文件上传时无法触发on-progress钩子,即使调用后端接口并成功的情况下都无法触发,可以通过如下配置来解决:

const config = { onUploadProgress: progressEvent => { if (progressEvent.lengthComputable) { this.uploadProgress = Math.round((progressEvent.loaded / progressEvent.total) * 100) console.log('progressEvent>>', progressEvent) console.log('uploadProgress>>', _this.uploadProgress) } } }

随后将config添加至调用后端接口,即可成功获取进度~

html:

前端-上传文件获取进度条: <el-upload v-show="!fileList.length" ref="fileUpload" class="upload-demo" style="display: inline-block;height: 32px;margin-left: 8px" action="#" :file-list="fileList" :http-request="uploadVersion" :on-change="handleChange" :on-success="handleSuccess" :on-progress="handleProgress" :on-error="handleError" :auto-upload="true" :show-file-list="false" > <!-- icon_upload.svg--> <el-button type="primary" style="height: 32px;display: flex;align-items: center"><svg-icon icon-class="icon_upload" style="margin-right: 8px" />上传文件</el-button> <!-- <el-input v-model="uploadForm.filename" placeholder="请选择">--> <!-- &lt;!&ndash; <template slot="append"><el-button&ndash;&gt;--> <!-- &lt;!&ndash; size="mini"&ndash;&gt;--> <!-- &lt;!&ndash; >&ndash;&gt;--> <!-- &lt;!&ndash; 上传文件&ndash;&gt;--> <!-- &lt;!&ndash; </el-button></template>&ndash;&gt;--> <!-- </el-input>--> </el-upload> <!-- <el-button size="small" @click="sendClick">上传</el-button>--> <div v-if="fileElProgress"> <div class="el-progress-div"> <div><div v-loading="true" style="display: inline-block;width: 24px; height: 16px; padding-right: 8px;" />{{ fileName }}</div> <span> <span style="display: inline-block;margin-right: 8px">{{ progressPercent }}%</span> <el-button type="text" @click="cancelUpload">取消</el-button> </span> </div> <el-progress :percentage="progressPercent" :text-inside="false" :color="customColors" :stroke-width="2" /> <!-- :stroke-width="16" status="scuccess"--> </div> <template v-if="!fileElProgress"> <div v-for="item in fileList" :key="item.name" class="fail-list"> <div class="list-item"> <span :style="{color:showFailTip?'#FF3D00':'#fff' }"> <svg-icon :icon-class="showFailTip? 'icon_error_file': 'icon_success_file'" /> {{ item.name }} </span> <span style="float: right;display: flex;align-items: center;"> <span style="color: #878D99;display: inline-block;margin-right: 16px">{{ showFailTip ? '失败':'成功' }}</span> <!-- <span>{{ '失败' }}</span>--> <el-button style="color: #00E3FF" type="text" size="small" @click="fileList = []">删除</el-button> <el-button v-show="showFailTip" style="color: #00E3FF" type="text" size="small" @click="sendClick">重新上传</el-button> </span> </div> </div> </template>

JS部分

data() { return { // 进度条 fileList: [], showFailTip: false, customColors: [ { color: 'rgba(223,228,237,0.10)', percentage: 0 }, { color: '#00adc9', percentage: 100 } ], fileElProgress: false, fileProgressText: '', progressPercent: 0, } methodss:{ uploadVersion(params) { const _this = this this.uploadForm.filename = params.file.name this.fileFormData = new FormData() this.fileFormData.append('file', params.file) this.fileFormData.append('md5File', params.file) this.fileName = params.file.name const config = { onUploadProgress: progressEvent => { if (progressEvent.lengthComputable) { _this.uploadProgress = Math.round((progressEvent.loaded / progressEvent.total) * 100) console.log('progressEvent>>', progressEvent) console.log('uploadProgress>>', _this.uploadProgress) this.fileElProgress = true if (this.progressPercent < 99) { this.progressPercent = _this.uploadProgress } else { this.fileProgressText = '正在上传' } } } } uploadFile(this.fileFormData, config).then(res => { if (res.data === 'success') { this.fileProgressText = '上传成功' } else { this.showFailTip = true } this.fileElProgress = false }) }, } },
本文链接地址:https://www.jiuchutong.com/zhishi/285147.html 转载请保留说明!

上一篇:格洛里亚附近的码头和糖面包山,巴西里约热内卢 (© f11photo/Getty Images)(格洛利亚酒店)

下一篇:如何在vue中实现文件预览功能(vue实战技巧)

  • 苹果官网下单怎么在掌上生活付款(苹果官网下单怎么修改订单)

    苹果官网下单怎么在掌上生活付款(苹果官网下单怎么修改订单)

  • 手机出现fastboot是怎么回事(手机出现fastboot怎么退出来)

    手机出现fastboot是怎么回事(手机出现fastboot怎么退出来)

  • 电脑表格怎么发到微信(电脑表格怎么发到微信上去)

    电脑表格怎么发到微信(电脑表格怎么发到微信上去)

  • 华为手机怎么看手机是什么型号(华为手机怎么看型号)

    华为手机怎么看手机是什么型号(华为手机怎么看型号)

  • 目前音频卡的主要功能有(目前音频卡具备以下哪些功能?)

    目前音频卡的主要功能有(目前音频卡具备以下哪些功能?)

  • 微信背景图怎么恢复成默认(微信背景图怎么取消掉)

    微信背景图怎么恢复成默认(微信背景图怎么取消掉)

  • 安卓个人热点打不开怎么办(安卓个人热点打开)

    安卓个人热点打不开怎么办(安卓个人热点打开)

  • 酷喵视频显示暂时无法播放(酷喵一直显示即将播放怎么回事)

    酷喵视频显示暂时无法播放(酷喵一直显示即将播放怎么回事)

  • qq超级会员可以退费吗(qq超级会员可以恢复多久的好友)

    qq超级会员可以退费吗(qq超级会员可以恢复多久的好友)

  • 怎样下载qq号到手机上(怎样下载qq号到手机上?)

    怎样下载qq号到手机上(怎样下载qq号到手机上?)

  • 摄像头没亮灯是没开吗(摄像头没亮灯是什么原因)

    摄像头没亮灯是没开吗(摄像头没亮灯是什么原因)

  • 苹果11膜和哪个通用(iphone11哪个膜好)

    苹果11膜和哪个通用(iphone11哪个膜好)

  • 苹果11大小多少厘米(苹果11手机的大小是多少厘米)

    苹果11大小多少厘米(苹果11手机的大小是多少厘米)

  • 怎么查看空间隐身访客(查看隐藏空间)

    怎么查看空间隐身访客(查看隐藏空间)

  • 朋友圈显示三天可见是被屏蔽了吗(朋友圈显示三天可见怎么解除)

    朋友圈显示三天可见是被屏蔽了吗(朋友圈显示三天可见怎么解除)

  • 怎么撤销退款退货申请(退款后如何取消退款)

    怎么撤销退款退货申请(退款后如何取消退款)

  • 苹果下载的字体怎么在手机中使用(苹果下载的字体怎么使用)

    苹果下载的字体怎么在手机中使用(苹果下载的字体怎么使用)

  • 手机飞行模式闹钟会响吗(手机飞行模式闹钟会不会响)

    手机飞行模式闹钟会响吗(手机飞行模式闹钟会不会响)

  • 苹果11怎么开启电池百分比(苹果11怎么开启定位功能)

    苹果11怎么开启电池百分比(苹果11怎么开启定位功能)

  • vue可以添加几张照片(vue引入多张图片)

    vue可以添加几张照片(vue引入多张图片)

  • 小米mix2s可以息屏显示吗(小米mix2s怎么设置屏幕熄灭的时间)

    小米mix2s可以息屏显示吗(小米mix2s怎么设置屏幕熄灭的时间)

  • 网易云怎么更换手机号(网易云怎么更换唱片的样式)

    网易云怎么更换手机号(网易云怎么更换唱片的样式)

  • 苹果8p无服务怎么解决(苹果8p无服务怎么修复)

    苹果8p无服务怎么解决(苹果8p无服务怎么修复)

  • excel全选快捷键(Excel选择一列的快捷键)

    excel全选快捷键(Excel选择一列的快捷键)

  • MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码)

    MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码)

  • JS中的位运算(js位运算有什么用)

    JS中的位运算(js位运算有什么用)

  • 同一控制下的长期股权投资入账成本
  • 预付账款借贷方表示什么意思
  • 企业为员工承担的个税可以税前扣除吗
  • 政府项目如何进项目
  • 房租押金不退如何
  • 单位之间调动
  • 注销了出口退税怎么办
  • 个体工商户能否开13的专票
  • 工会账户销户划拨流程
  • 购买税控设备,享受何种优惠政策
  • 国外预提税是什么
  • 有限合伙企业无限合伙企业
  • 内含报酬率的计算公式插值法
  • 公司个税申报是什么意思
  • 开具的增值税专用发票上注明的价款为50万元
  • 留抵进项税额可以挂在转出未交增值税吗
  • 法人名下两家公司,客户买货可以用另外一个公司开票吗
  • 应收账款待确认收入
  • 买购物卡发福利怎么发
  • 工伤补偿需要缴税吗
  • 原本可以打开的软件
  • 餐饮行业的销售模式
  • 电脑虚拟内存不够
  • 物流运输公司要交税吗
  • smarty模板判断数组为空的方法
  • linux管理员账户名
  • 进口商品增值税可以抵扣吗
  • PHP:pg_affected_rows()的用法_PostgreSQL函数
  • php vld
  • 原始凭证可以没有名称吗
  • php yield 异步
  • 买发票前金税盘需要抄税和清卡吗?
  • 什么是加计扣除政策
  • 计提企业所得税是在结转损益后吗
  • thinkphp入口文件
  • 有趣的html简单代码
  • index.php怎么修改
  • 境外企业在境内投资是否备案
  • 事业单位员工工资
  • 企业重组后的债权怎么算
  • dedecms怎么用
  • opengl全称
  • 纳税人减免税申请表怎么填
  • 什么是营业净利率计算公式
  • 预缴的增值税及附加税怎么做账
  • 固定资产处置怎么报税
  • 购货方付款会计分录
  • 纳税人财务核算内容包括
  • 私企会计一般一个月多少钱
  • win10系统怎么修改用户名称
  • winxp更新到win10
  • xp系统怎么修改网络ip地址
  • fedora安装中文语言包
  • win10系统锁屏后不弹出解锁界面
  • Linux操作系统软链接和硬链接的联系与区别
  • win10每周更新
  • centos如何查看服务进程
  • SchSvr.exe - SchSvr是什么进程 有什么作用
  • win81激活
  • win10mobile最新版本
  • popupwindow底部弹出
  • opengl实现光线追踪
  • [置顶]游戏名 TentacleLocker
  • python 遍历字符串修改
  • 非法文件名是什么
  • jquery form序列化
  • shell脚本中判断字符串是否相等
  • 深入讲解MACD:MACD红绿柱
  • nvm-windows
  • jquery的children方法
  • android底部弹出页面
  • jquery多级联动下拉菜单
  • 浅谈python 四种数值类型(int,long,float,complex)
  • 领导班子和领导干部的区别
  • 定额发票查询app
  • 江苏发票真伪查询
  • 污水处理厂房产税优惠政策
  • 什么是增值税一般纳税人证明
  • 山东居民养老金是多少
  • 蓬溪房价2020最新消息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设