VUE+element 上传视频

VUE+element上传视频

效果展示

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

html部分

 <el-form-item label="视频上传" prop="storageurl">
          <!-- action必选参数, 上传的地址 -->
          <el-upload
            class="avatar-uploader el-upload--text"
            action="上传视频的后台地址"
            :show-file-list="false"
            :on-success="handleVideoSuccess"
            :before-upload="beforeUploadVideo"
            :on-progress="uploadVideoProcess"
          >
            <video
              v-if="videoForm.storageurl != '' && videoFlag == false"
              :src="videoForm.storageurl"
              class="avatar"
              controls="controls"
            >
              您的浏览器不支持视频播放
            </video>
            <i
              v-else-if="videoForm.storageurl == '' && videoFlag == false"
              class="el-icon-plus avatar-uploader-icon"
            ></i>
            <el-progress
              v-if="videoFlag == true"
              type="circle"
              :percentage="videoUploadPercent"
              style="margin-top:30px;"
            ></el-progress>
          </el-upload>
        </el-form-item>

js部分

data() {
return{
videoForm: {
storageurl: // 视频地址
}
},
  // 验证视频格式
    beforeUploadVideo(file) {
      if (
        [
          'video/mp4',
          'video/ogg',
          'video/flv',
          'video/avi',
          'video/wmv',
          'video/rmvb'
        ].indexOf(file.type) === -1
      ) {
        this.$message.error('请上传正确的视频格式')
        return false
      }
    },
    // 上传进度显示
    uploadVideoProcess(event, file, fileList) {
      console.log(event.percent, file, fileList)
      this.videoFlag = true
      this.videoUploadPercent = Math.floor(event.percent)
    },

    // 获取上传图片地址
    handleVideoSuccess(res, file) {
      this.videoFlag = false
      this.videoUploadPercent = 0
      if (res.status === 200) {
        console.log(res.data)
        this.videoForm.storageurl = res.data
      } else {
        this.$message.error('视频上传失败,请重新上传!')
      }
    },

style部分

.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;
}
  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: Vue Element UI是一个基于Vue.js的前端组件库,而海康视频则是一种视频监控系统。结合两者,可以使用Vue Element UI的弹框组件来实现海康视频的功能。 在Vue Element UI中,有一个弹框组件`Dialog`可以用于展示内容、表单、图片等。我们可以利用这个弹框组件来实现海康视频的弹框功能。 首先,我们需要引入Vue Element UI和海康视频的相关依赖包。然后,在Vue的模板中,使用`<el-dialog>`标签来定义一个弹框组件。通过设置`visible`属性来控制弹框的显示与隐藏。 在弹框中,可以使用`<el-form>`标签来展示视频相关的表单,比如输入视频名称、选择视频文件等等。同时,可以使用`<el-upload>`标签来实现视频文件的上传功能。 除此之外,还可以使用`<el-image>`标签来展示视频的缩略图或者封面图。 最后,通过调用Vue的方法或者通过事件绑定来控制弹框的显示与隐藏。比如,在点击确认按钮时,可以调用一个方法来处理相关的逻辑。或者,在获取到视频文件后,可以通过事件绑定来触发视频上传的操作。 综上所述,通过Vue Element UI的弹框组件,我们可以方便地实现海康视频的弹框功能。通过结合VueElement UI的优势,可以快速开发出具有弹框功能的海康视频系统。 ### 回答2: VueElement UI是一种用于构建用户界面的开源框架和库。Vue是一种流行的JavaScript框架,用于构建交互式的Web界面。它具有简单易用的API和强大的能力,使开发人员可以快速构建复杂的前端应用程序。 Element UI是Vue的一个UI框架,它提供了各种用户界面组件和工具,包括弹框组件。弹框是一种常用的交互式组件,可用于显示消息、警告、确认对话框等。 海康视频是一个知名的视频监控解决方案提供商。它提供了一系列视频监控设备、软件和服务,可用于保护和监控各种场所。 结合VueElement UI的弹框功能,我们可以使用Element UI提供的弹框组件来显示海康视频相关的信息和操作。例如,当需要展示一个海康视频的预览时,我们可以使用Element UI的弹框组件来创建一个模态框,其中包含视频的预览界面和相关控制按钮,用户可以通过弹框中的按钮来操作视频的播放、暂停、停止等功能。 除了预览功能,我们还可以使用弹框来展示视频相关的警告信息。例如,当监控系统检测到异常情况时,可以通过弹框来显示警告信息,提醒用户及时处理。 总之,VueElement UI的弹框功能可以很好地与海康视频集成,为用户提供一个友好的界面来展示和操作海康视频的功能。 ### 回答3: Vue是一种流行的JavaScript框架,而Element UI是一个基于Vue的组件库。弹框是Element UI提供的一个组件,可以在网页中显示弹出窗口,用于展示一些提示、警告或者用户交互的内容。 海康视频是一家专业的视频监控设备供应商,其产品包括监控摄像头、视频录像机等。在使用VueElement UI开发网页时,我们可以使用弹框组件来展示海康视频相关的内容。 例如,当用户需要查看一段海康视频时,可以点击一个按钮,触发弹框组件显示在界面中央,同时在弹框的内容区域中,嵌入海康视频的播放器。这样用户就可以方便地观看视频,而无需离开当前页面。 利用Vue的动态数据绑定特性,我们还可以根据用户的操作改变海康视频的播放状态。例如,在弹框中提供一个播放/暂停按钮,用户点击按钮时,我们可以修改Vue的数据状态,从而控制视频的播放或暂停。 此外,Element UI的弹框组件还提供了其他丰富的功能选项,如设置弹框的大小、位置、背景等样式,以及自定义按钮、输入框等交互元素。可以利用这些特性来完善海康视频弹框的用户体验。 总结而言,借助VueElement UI的弹框组件,可以在网页中方便地展示海康视频,提供给用户良好的用户体验,同时还可以通过Vue的数据绑定特性来控制视频的播放状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值