前端

简介: 前端
<el-form-item label="上传视频">
          <el-upload
            :on-success="handleVodUploadSuccess"
            :on-remove="handleVodRemove"
            :before-remove="beforeVodRemove"
            :on-exceed="handleUploadExceed"
            :file-list="fileList"
            :action="BASE_API + '/eduvod/video/uploadAliyunVideo'"
            :limit="1"
            class="upload-demo"
          >
            <el-button size="small" type="primary">上传视频</el-button>
            <el-tooltip placement="right-end">
              <div slot="content">
                最大支持1G,<br />
                支持3GP、ASF、AVI、DAT、DV、FLV、F4V、<br />
                GIF、M2T、M4V、MJ2、MJPEG、MKV、MOV、MP4、<br />
                MPE、MPG、MPEG、MTS、OGG、QT、RM、RMVB、<br />
                SWF、TS、VOB、WMV、WEBM 等视频格式上传
              </div>
              <i class="el-icon-question" />
            </el-tooltip>
          </el-upload>
        </el-form-item>
      video: {
        id: "",
        chapterId: "",
        courseId: "",
        title: "",
        sort: 0,
        isFree: 0,
        videoSourceId: "",
        videoOriginalName: "", //视频名称
      },
      formLabelWidth: "120px",
      fileList: [], //上传文件列表
      BASE_API: process.env.BASE_API, // 接口API地址

此处注意fileList的数组格式是:

image.png

method

// ========================上传视频==============================
    beforeVodRemove(file, fileList) {
      return this.$confirm(`确定移除 ${file.name}?`);
    },
    //删除视频
    handleVodRemove(file, fileList) {
      console.log(file);
      vod.removeAlyVideo(this.video.videoSourceId).then((response) => {
        this.$message({
          type: "success",
          message: response.message,
        });
        
        this.fileList = []
        this.video.videoSourceId = ''
        this.video.videoOriginalName = ''
      });
    },
    //成功回调
    handleVodUploadSuccess(response, file, fileList) {
      this.video.videoSourceId = response.data.videoId;
      this.video.videoOriginalName = file.name;
      this.fileList = fileList
    },
    //如果上传多于一个视频
    handleUploadExceed(files, fileList) {
      this.$message.warning("想要重新上传视频,请先删除已上传的视频");
    },
import request from '@/utils/request'
const api_name = '/eduvod/video'
//根据videoid 删除云端视频
export default {
  removeAlyVideo(videoId) {
    return request({
      url: `${api_name}/removeAlyVideo/`+videoId,
      method: 'delete'
    })
  },
 
}

测试

image.png

相关文章
|
5月前
|
移动开发 前端开发 JavaScript
大前端时代
大前端时代
74 1
|
5月前
|
前端开发 JavaScript 测试技术
前端 (3)
前端 (3)
24 0
|
5月前
|
前端开发
前端必看的8个HTML+CSS技巧 (2)
前端必看的8个HTML+CSS技巧 (2)
|
4月前
|
资源调度 前端开发 JavaScript
|
5月前
|
前端开发 程序员 数据处理
关于前端的一些
关于前端的一些
31 1
|
缓存 小程序 前端开发
每天几个前端小知识
每天几个前端小知识
57 0
|
XML 前端开发 JavaScript
前端三剑客
前端三剑客
146 0
|
Web App开发 前端开发 JavaScript
纯前端实现视频混流
随着前端音视频技术的不断成熟越来越多的直播平台开始提供网页开播的直播方式,不需要再使用 OBS 或者各家的直播伴侣。
519 0
|
前端开发 JavaScript UED
关于前端的一些思考
前端开发作为Web前端的重要组成部分,越来越受到关注。为了在竞争激烈的市场中脱颖而出,我们需要不断创新并进行原创性的开发。
91 0
|
前端开发