位置: 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实战技巧)

  • oppofindx2是多久上市的(oppofindx2什么时候出来的)

    oppofindx2是多久上市的(oppofindx2什么时候出来的)

  • 滴滴长时间不出车需要报备吗(滴滴长时间不出车)

    滴滴长时间不出车需要报备吗(滴滴长时间不出车)

  • 华为微信提示音在哪里设置(华为微信提示音怎么设置)

    华为微信提示音在哪里设置(华为微信提示音怎么设置)

  • 智能手机中用于透明导电薄膜的材料名称为(智能手机中用于透明到店薄膜的材料名称是)

    智能手机中用于透明导电薄膜的材料名称为(智能手机中用于透明到店薄膜的材料名称是)

  • 腾讯会议截图操作已记录是什么意思(腾讯会议截图操作已记录有什么影响吗)

    腾讯会议截图操作已记录是什么意思(腾讯会议截图操作已记录有什么影响吗)

  • vulkan是什么(vulkan是什么意思)

    vulkan是什么(vulkan是什么意思)

  • word兼容模式编辑不了(word兼容模式编辑)

    word兼容模式编辑不了(word兼容模式编辑)

  • 钉钉回放快进会影响总时长吗(钉钉回放如果快进了还有记录吗)

    钉钉回放快进会影响总时长吗(钉钉回放如果快进了还有记录吗)

  • 苹果手机没有id可以用吗(苹果手机没有id密码怎么恢复出厂设置)

    苹果手机没有id可以用吗(苹果手机没有id密码怎么恢复出厂设置)

  • 华为畅享9e上市时间(华为畅享9e上市时间及价格)

    华为畅享9e上市时间(华为畅享9e上市时间及价格)

  • 强制关闭窗口的快捷键(强制关掉窗口)

    强制关闭窗口的快捷键(强制关掉窗口)

  • bm37电池是什么型号(bm3m电池是什么型号)

    bm37电池是什么型号(bm3m电池是什么型号)

  • qq停止运行是怎么回事(qq停止运行是什么意思)

    qq停止运行是怎么回事(qq停止运行是什么意思)

  • qq能恢复7年前的好友吗(可不可以恢复qq好几年前的聊天记录)

    qq能恢复7年前的好友吗(可不可以恢复qq好几年前的聊天记录)

  • 拼多多连续包月卡怎么取消(拼多多连续包月怎么取消自动续费)

    拼多多连续包月卡怎么取消(拼多多连续包月怎么取消自动续费)

  • 荣耀v20怎么反向充电(荣耀v20如何反向充电)

    荣耀v20怎么反向充电(荣耀v20如何反向充电)

  • 天猫和淘宝有啥区别(天猫和淘宝有什么区别? 内行人都懂)

    天猫和淘宝有啥区别(天猫和淘宝有什么区别? 内行人都懂)

  • 苹果手机有没有接通震动(苹果手机有没有微信分身)

    苹果手机有没有接通震动(苹果手机有没有微信分身)

  • 华为m7平板什么时候上市(华为平板mate7)

    华为m7平板什么时候上市(华为平板mate7)

  • 天猫精灵只能绑定一个手机吗(天猫精灵只能绑定一个)

    天猫精灵只能绑定一个手机吗(天猫精灵只能绑定一个)

  • 即显短信是什么(即显短信一般用来干什么的)

    即显短信是什么(即显短信一般用来干什么的)

  • qq被多人举报 要多久才能解除(qq被很多人举报了会怎么样)

    qq被多人举报 要多久才能解除(qq被很多人举报了会怎么样)

  • Mac设置默认在当前文件夹下搜索的方法(mac怎么设置默认程序)

    Mac设置默认在当前文件夹下搜索的方法(mac怎么设置默认程序)

  • 注册资本印花税减半征收政策
  • 坏账准备需要计提成本吗
  • 个人住房租赁给单位怎么交税
  • 企业所得税属于地方税吗
  • 赠送货物怎么入账
  • 财务软件续费怎么记账
  • 未开票收入已缴税额怎么入账
  • 企业向个人借款需要交印花税吗
  • 汽车违章罚款在哪里缴纳
  • 航天金税财务软件使用说明
  • 销售依据
  • 跨区域施工增值税怎么交
  • 企业为什么会成为非正常户
  • 六税两费减半征收政策2022
  • 装修预付款怎么做账
  • 金融企业贷款损失税前扣除
  • 建筑业劳务分包怎样算税
  • 超市库存商品分为哪几类
  • 应收款收不回账务处理
  • 收到政府拨款怎么做账
  • windows11怎么设置壁纸
  • 向灾区捐赠货物需要交增值税吗
  • dmc32.dll
  • 房产企业预售收入怎么做账务处理
  • 房产证和不动产权证都要办理吗
  • 低值易耗品现在还用吗
  • php实现文件上传需要使用哪个全局变量
  • 出口货物的出口日期以
  • php 写入excel
  • vue项目中技巧知识点
  • 担保合同印花税税率怎么算
  • 卷积神经网络有哪些
  • javaweb重点知识总结
  • php自带的加密解密函数
  • 发票开具使用要求
  • 应付票据的贴现账务处理
  • 装修费摊销费计算公式
  • 固定资产的主要风险有哪些
  • 技术研发费用包括哪些
  • 车间购买办公用品
  • 一般纳税人申报表电子版
  • 实收资本可以去银行查吗
  • 企业基金分红具体流程
  • 恢复mysql数据库
  • 用于出口的进项发票怎么做账
  • 广告费应归于什么费用
  • 高新企业研发收入占总收入比例怎么算
  • 如何在科目余额表中查询给另一家公司付了多少钱
  • 公司采购产品赠送给客户会计分录
  • 微信公众号注册时间在哪里看
  • 工资及福利费科目
  • 结转增值税的账务处理一定要通过转出未交增值税吗
  • 实际发放工资的会计处理
  • 以销定产会计怎么做账科目
  • 营改增后建筑行业进项税能抵扣吗
  • 办公用水电费计入什么科目
  • 现金日记账的对账工作有哪些
  • 固定资产是指什么
  • mysql关联语句
  • sql server修改数据表
  • linux修改密码认证令牌错误
  • linux怎么用root运行命令
  • windows10 命令行
  • win7电脑关机出现0xc0000142是什么原因
  • nodejs import
  • unity3d的游戏
  • lru缓存机制是什么
  • 如何在python中运行程序
  • js中ajax完整例子
  • js设置页面大小
  • jstree异步加载
  • SharedPreferences中的MODE_APPEND 和 MODE_PRIVATE 区别
  • 学习jQuey中的return false
  • jquery 异步加载
  • 购房发票上的税率9%包含契税吗
  • 税票开票员的职责
  • 深圳市地税局财务电话
  • 国税查票系统
  • 你需要了解什么 英语
  • 城市维护建设税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设