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

  • ipad2021有耳机孔吗(2021款ipad有没有耳机插孔)

    ipad2021有耳机孔吗(2021款ipad有没有耳机插孔)

  • 手机邮箱怎么添加附件发送的呢(手机邮箱怎么添加超大附件)

    手机邮箱怎么添加附件发送的呢(手机邮箱怎么添加超大附件)

  • 微信同步电脑后为什么没有消息呢(微信同步电脑后为什么消息有些电脑没有呢)

    微信同步电脑后为什么没有消息呢(微信同步电脑后为什么消息有些电脑没有呢)

  • airpodspro通透模式有沙沙声(AirPodsPro通透模式一直自动开启)

    airpodspro通透模式有沙沙声(AirPodsPro通透模式一直自动开启)

  • 同一个苹果id来电同时响(同一个苹果id来电不同步)

    同一个苹果id来电同时响(同一个苹果id来电不同步)

  • mrp的输出是什么(mrp的输出文件包括哪些)

    mrp的输出是什么(mrp的输出文件包括哪些)

  • 华为休眠时间怎么设置成永久(华为休眠时间怎么设置不了)

    华为休眠时间怎么设置成永久(华为休眠时间怎么设置不了)

  • 随手记同步失败是为什么(随手记同步后之前数据不见了)

    随手记同步失败是为什么(随手记同步后之前数据不见了)

  • 苹果xr为什么只可以安一张卡(苹果xr为什么只能用一个卡)

    苹果xr为什么只可以安一张卡(苹果xr为什么只能用一个卡)

  • 微信头像模糊是拉黑了吗(微信头像模糊是何原因)

    微信头像模糊是拉黑了吗(微信头像模糊是何原因)

  • 华为畅享10plus支持防水吗(华为畅享10plus支持快充吗)

    华为畅享10plus支持防水吗(华为畅享10plus支持快充吗)

  • 静态网页和动态网页的特点(静态网页和动态网页的本质区别是什么)

    静态网页和动态网页的特点(静态网页和动态网页的本质区别是什么)

  • ipad air3可以插u盘吗(ipad air3可以插卡吗)

    ipad air3可以插u盘吗(ipad air3可以插卡吗)

  • vivos1双引擎闪充在哪(vivos1双引擎闪充怎么开启)

    vivos1双引擎闪充在哪(vivos1双引擎闪充怎么开启)

  • 微信设置了不可见会被看到吗(微信设置了不可见新加的好友能看到吗)

    微信设置了不可见会被看到吗(微信设置了不可见新加的好友能看到吗)

  • 微信怎么看到是谁举报的我(微信怎么看到是谁发的消息)

    微信怎么看到是谁举报的我(微信怎么看到是谁发的消息)

  • 三星s6电话按键怎么变大(三星s6电话按键失灵)

    三星s6电话按键怎么变大(三星s6电话按键失灵)

  • ifound是什么牌子(ifound.ry是什么牌子)

    ifound是什么牌子(ifound.ry是什么牌子)

  • ps修复模糊不清的文字(ps修复模糊不清的图片)

    ps修复模糊不清的文字(ps修复模糊不清的图片)

  • 绘声绘影如何添加字幕(绘声绘影如何添加声音轨)

    绘声绘影如何添加字幕(绘声绘影如何添加声音轨)

  • 苹果呼叫限制在哪里(苹果呼叫限制在哪里设置)

    苹果呼叫限制在哪里(苹果呼叫限制在哪里设置)

  • 荣耀平板5和华为m5区别(荣耀平板5和华为m3哪个好)

    荣耀平板5和华为m5区别(荣耀平板5和华为m3哪个好)

  • w怎么取消开机密码(开机启动word怎么关闭)

    w怎么取消开机密码(开机启动word怎么关闭)

  • 出生日期格式(出生日期格式转换)

    出生日期格式(出生日期格式转换)

  • DEDECMS不规则的列表实现方法 每隔5行加一虚线(div不规则排版)

    DEDECMS不规则的列表实现方法 每隔5行加一虚线(div不规则排版)

  • 息税前利润变动率
  • 城建税计提与缴纳分录
  • 公司提供住宿员工在外居住出现问题
  • 个体户生产经营个人所得税
  • 小规模增值税附加税税率
  • 二手房交易税费最新规定
  • t3用友软件怎么设置三级科目
  • 内部报送会计信息有哪些
  • 自然灾害造成的房屋损失怎么处理
  • 基金投资债券会赔吗
  • pe市盈率法
  • 外资企业股权转让所得税率
  • 提取法定盈余公积比例
  • 退回所得税怎么处理
  • 亏损企业是否可以上成长板
  • 固定资产报废账目
  • 六税两费包括哪三税
  • 个体工商户开票免税额度是多少
  • 收到质量赔偿款从总账做账可以
  • 拆迁公司属于什么性质
  • 出口50万货物退多少税
  • 哪些企业所得税汇算清缴
  • 什么情况可以出境
  • 地下车库怎么缴费
  • 预提返利的会计处理
  • 有限责任公司的人员构成
  • 辞职的补偿金怎么做账
  • 房地产企业的沙盘模型制作费会计处理
  • mac截图如何保存到照片
  • 公司过户费用怎么入账
  • PHP:curl_reset()的用法_cURL函数
  • 税收风险应对措施包括
  • xwizard.exe是什么
  • 国外进口增值税税率
  • 废旧物资经营单位增值税税率
  • laravel访问路由方式
  • 电子税务局已申报信息查询
  • 新个税讲解
  • 销售折让销货方式有哪些
  • flutter项目怎么运行
  • 前端高手进阶
  • vue @hook
  • 销售提成占比
  • 用友u8反结账反记账的操作步骤
  • 个税申报系统操作指南
  • index.php怎么修改
  • 资产负债表与利润表之间的关系
  • 本地住宿费怎么做账
  • 国税退税要多久能到账
  • 企业应收票据贴现,应按实际收到的金额计入
  • 跨年的增值税普通发票怎么冲红
  • 公司负担个人所得税如何做账
  • 其他综合收益 综合收益
  • 企业摊销无形资产价值时的会计处理
  • 公司能经营烟草公司吗
  • 收据能否入账
  • 使用银行汇票的结算方式
  • 水利建设基金计费方式
  • 买赠行为的会计处理
  • 管理不善存货盘亏计入什么科目
  • 销售现金优惠会计分录
  • 工会筹备金记什么科目
  • 资产减值损失怎么计提
  • centos bz
  • vista桌面为什么不能登陆
  • mac电脑连wifi总是断开
  • windows磁盘如何分区
  • win7更改win10系统要怎么更改
  • ubuntu kylin 14.04下载 ubuntu优麒麟14.04 lts下载地址
  • centos8 systemd
  • 如何在linux
  • u深度如何装win7系统
  • win7系统电脑开机黑屏
  • mobile windows
  • 机械革命系统重装官方教程
  • html竖排改为横排
  • angularjs内置了很多有用的服务
  • shell脚本中获取日期
  • 武汉市国税局局长黄英简历
  • 进项税额包括哪些项目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设