项目中需要提供一个视频介绍,使用Vue+Element UI中的el-upload组件实现视频上传及进度条展示,后台提供视频上传API并返回URL, 百度找了一番后最终实现了。

HTML

<el-uploadclass="avatar-uploader"action=""    //上传地址v-bind:data="{ FoldPath: '上传目录', SecretKey: '安全验证' }" //可删除v-bind:on-progress="uploadVideoProcess"v-bind:on-success="handleVideoSuccess"v-bind:before-upload="beforeUploadVideo"v-bind:show-file-list="false":headers="headers"   //头部携带的token 非必须><videov-if="videoForm.showVideoPath != '' && !videoFlag"v-bind:src="videoForm.showVideoPath"   //上传后回显的地方class="avatar video-avatar"controls="controls">您的浏览器不支持视频播放</video><i v-else-if="videoForm.showVideoPath == '' && !videoFlag" //i标签是上传前的那个+上传后隐藏class="el-icon-plus avatar-uploader-icon"></i><el-progress v-if="videoFlag == true" type="circle"v-bind:percentage="videoUploadPercent"style="margin-top: 7px"></el-progress></el-upload>

JS

 //上传前回调beforeUploadVideo(file) {var fileSize = file.size / 1024 / 1024 < 50;   //控制大小  修改50的值即可if (["video/mp4","video/ogg","video/flv","video/avi","video/wmv","video/rmvb","video/mov",].indexOf(file.type) == -1     //控制格式) {layer.msg("请上传正确的视频格式");return false;}if (!fileSize) {layer.msg("视频大小不能超过50MB");return false;}this.isShowUploadVideo = false;},//进度条uploadVideoProcess(event, file, fileList) {    //注意在data中添加对应的变量名this.videoFlag = true;  this.videoUploadPercent = file.percentage.toFixed(0) * 1;},//上传成功回调handleVideoSuccess(res, file) {this.isShowUploadVideo = true;this.videoFlag = false;this.videoUploadPercent = 0;console.log(res);//后台上传数据if (res.success == true) {  this.videoForm.showVideoPath = res.data.url;    //上传成功后端返回视频地址 回显} else {this.$message.error("上传失败!");}},

data

      videoFlag: false,//是否显示进度条videoUploadPercent: "",//进度条的进度,isShowUploadVideo: false,//显示上传按钮videoForm: {showVideoPath: "",  //回显的变量},

css

.avatar-uploader-icon {border: 1px dashed #d9d9d9 !important;
}
.avatar-uploader .el-upload {border: 1px dashed #d9d9d9 !important;border-radius: 6px !important;position: relative !important;overflow: hidden !important;
}
.avatar-uploader .el-upload:hover {border: 1px dashed #d9d9d9 !important;border-color: #409eff;
}
.avatar-uploader-icon {font-size: 28px;color: #8c939d;width: 300px;height: 178px;line-height: 178px;text-align: center;
}
.avatar {width: 300px;height: 178px;display: block;
}

成功后的截图

完美!

element UI el-upload组件实现视频文件上传视频回显相关推荐

  1. bootstrap fileinput 文件上传和回显

    官网下载文件http://plugins.krajee.com/file-input/demo bootstrap fileinput 是基于bootstrap基础上的上传插件,so必要的bootst ...

  2. Spring Boot文件上传及回显(单/多文件)

    一.单文件上传 1.前端页面 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

  3. vue2 + elementui el-upload文件上传后回显及重新提交思路

    回显: :file-list="fileList" 可用于预览图片列表,数组内的对象格式为{name: '', url:"'}. 文件上传后,需让后端返回文件标识和服务器 ...

  4. Vue +vue-quill-editor+ Element UI使用富文本编辑器(后续更新上传视频、链接、表格....)

    如果你们有问题,可以发评论提问,我看见一定回复!!!!! 文章目录 一.基本使用 1.下载vue-quill-editor组件 2.引入· 富文本组件 3.工具栏相关配置 4.设置工具栏中文提示 5. ...

  5. upload组件多个文件上传、自定义文件列表显示及手动上传

    1.多个上传和上传单个 1)由 multiple属性 来控制 2)保存state时,注意存的List内容即可 //参数 uploadProps={name:'file', //接口入参名accept: ...

  6. springboot实现简单的文件上传与回显

    前端页面 input的file类型可以将上传文件的绝对路径返回给后台. <!DOCTYPE html> <html lang="en" xmlns:th=&quo ...

  7. themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...

    实现文件上传和回显 1.新建一个SpringBoot项目,选择 Spring Web 和 thymeleaf 依赖 .pow.xml文件下的依赖如下 2.根据下图,创建如下文件 3.直接上代码 配置文 ...

  8. element UI上传图片Upload组件使用 图片转base64和fale文件处理 formdata数据格式的应用

    element UI上传图片Upload组件使用 & 图片转base64和fale文件处理 & formdata数据格式的应用 1.element UI上传图片Upload组件使用 效 ...

  9. vue问题三:element ui的upload组件上传图片成功和移除事件

    element ui的upload组件上传图片成功和移除事件: 登录后获取到后台传的token存到中: sessionStorage.setItem("token",data.ob ...

最新文章

  1. Java的内存回收机制
  2. Spring Boot——基于AOP的HTTP操作日志解决方案
  3. Python——pip批量安装和卸载package
  4. gpu版tensorflow测试
  5. word中如何对公式插入题注和引用
  6. CentOS yumdownloader命令和rpmbuild命令制作rpm包
  7. Windows2012安装AppFabric失败返回1603错误的解决方案
  8. EURA欧瑞E1000系列变频器使用PID实现恒压供水功能的相关参数设置及接线
  9. 支付中心设计与方案,收藏了
  10. 5月31日互联网理财产品收益播报:余额宝再跌
  11. layui数据表格自带的排序功能
  12. 成为或不成为开发者的拥护者
  13. Android打印机--TSC 标签打印
  14. 评估方法提高深度学习模型泛化能力
  15. ES分页查询时报错“Result window is too large ...”
  16. 微信小程序学习第3天——网络数据请求
  17. 电商!商品关键词查询搜索排名与优化
  18. 计算机、程序和Java概述
  19. (C++)strcmp函数的使用
  20. Brew----常见问题 ( 最近一次更新 2011--04--30)

热门文章

  1. mybatis 的 update 操作明确的返回受影响的记录条数
  2. 区块链开发语言python_Python:不同区块链智能合约开发语言的选择
  3. 【华为OD机试 2023】开心消消乐(Java JS Python)
  4. ant design pro 控制表单输入框的格式和数字
  5. java 线程间通信的几种方式
  6. win10安装微信开发者工具提示“installer integrity check has failed”处理方法
  7. android单元测试demo,android单元测试AndroidTestCase
  8. 辨析 关键路径、关键链、缩短工期方法
  9. 攻防世界miscBanmabanma
  10. mysql中的distinct的用法