elementUi上传视频组件

在Vue+Element后台管理系统中,使用ElementUI组件进行视频上传。文章介绍了如何在上传前限制视频格式、大小和时长,并提供了HTML、JS和CSS的实现代码示例。同时,鼓励读者交流并分享宝贵意见。
摘要由CSDN通过智能技术生成

背景

vue+element后台管理系统中的表单提交中需要上传视频,利用饿了吗组件可以这么搞。
要求:

  1. 文件上传之前需要处理:
    限制视频格式
    限制视频大小
    限制视频时长

实现代码:

HTML
说明:
action 必选参数,上传的地址 string
before-upload 上传文件之前的钩子 function(file)
on-progress 文件上传时的钩子 function(event, file, fileList)
http-request 覆盖默认的上传行为,可以自定义上传的实现 function

<template>
  <div>
    <el-upload
      class="avatar-uploader el-upload--text"
      action=""
      :show-file-list="false"
      :before-upload="beforeUploadVideo"
      :on-progress="uploadVideoProcess"
      style="border: 1px solid #DCDFE6;border-radius: 4px;padding: 10px;"
    >
      <video v-if="videoSrc !='' && progressFlag == false" :src="videoSrc" 
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的上传视频组件示例,使用Vue.js和Axios库。 ```html <template> <div> <input type="file" @change="uploadVideo"> <button @click="cancelUpload" v-if="uploading">取消上传</button> <div v-if="uploading"> <p>正在上传:{{ progress }}%</p> <progress :value="progress" max="100"></progress> </div> </div> </template> <script> import axios from 'axios'; export default { data() { return { uploading: false, progress: 0 } }, methods: { uploadVideo(event) { this.uploading = true; const file = event.target.files[0]; const formData = new FormData(); formData.append('video', file); axios.post('/api/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' }, onUploadProgress: (progressEvent) => { this.progress = Math.round((progressEvent.loaded * 100) / progressEvent.total); } }).then(() => { this.uploading = false; this.progress = 0; alert('上传成功!'); }).catch(() => { this.uploading = false; this.progress = 0; alert('上传失败!'); }); }, cancelUpload() { this.uploading = false; this.progress = 0; } } } </script> ``` 这个组件包含一个文件选择器和一个“取消上传”按钮。当用户选择视频文件时,会触发`uploadVideo`方法,该方法将文件作为FormData对象发送到服务器。在上传过程中,会显示一个进度条,指示上传进度。如果上传成功,将显示一个警告框,否则将显示上传失败的警告框。用户可以点击“取消上传”按钮停止上传过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值