vue 接入 vod-js-sdk-v6.js 完成视频上传
东西有点多,耐心看完。按照操作一步一步来,绝对能成功
首先:npm 引入
npm install vod-js-sdk-v6
mian.js 全局引入
//腾讯云点播
import TcVod from 'vod-js-sdk-v6'
Vue.prototype.$TcVod = TcVod
其次: vue 文件的引用
<input type="file" accept=".mp4" @change="uploadVideoChanged($event)" />
注意: 这里 设置 type=“file” 是关键,一定要设置 type="file" , 然后就是 一定要用 @change 事件 ,event 一定得传,用来获取整个 input 的
下面的可以直接复制粘贴进去了,但是获取签名的方法一定得改成自己的,别瞎抄。
data 参数部分 newsVideoUrl: '', //视频文件地址
vFile: {}, //视频文件File对象
vIsFileExist:false, //File对象是否存在
vUploader:{}, //腾讯云上传的初始化对象
vProgress: 0, //视频上传进度
vStatus:'active', //视频上传状态,string类型: active正在上传,success成功,exception失败
vIsUploading:false, //是否正在上传
signature : '',// 获取签名
这里的 create 用来获取签名
create 部分: 用来获取签名 this.getUploadSignature()
获取签名 的接口请替换成 后端提供的获取签名接口
//获取签名
getUploadSignature(){
getUploadSignature().then(res=>{
this.signature = res.data
})
}, //调用本地文件列表
//选择视频文件
uploadVideoChanged(e){
if(e.currentTarget.files[0].type=='video/mp4'){
this.vFile = e.currentTarget.files[0] //获取上传文件中的File对象信息
this.vIsFileExist=true
}else{
this.$message.warning('仅支持mp4格式的视频上传')
}
}, //腾讯云点播上传视频
uploadVideoFile(){
if(this.vIsFileExist==false){
this.$message.warning('请先选择视频文件')
return
}else if(this.vIsUploading){
this.$message.warning('正在上传中,请勿重复上传')
return
}
// else if(this.vStatus=='success'){
// this.$message.warning('当前视频已上传完毕,请勿重复上传')
// return
// }
//获取腾讯云点播视频上传签名,这里注意:必须用函数表达式这种方式定义getSignature函数才行(如下),使用Vue的传统方式:先声明getSignature(){}函数再this.getSignature()调用这种方式不会生效也不报错。这是个坑
let getVideoSignature=()=> {
return this.signature
}
let tcVod = new this.$TcVod({ //腾讯云-添加签名
getSignature: getVideoSignature
})
this.vUploader = tcVod.upload({ //腾讯云-初始化上传功能
mediaFile: this.vFile,
}) this.vStatus='active' //正在上传状态
this.vIsUploading=true //是否正在上传 this.vUploader.on('media_progress',(info)=>{ //获取上传进度信息
this.vProgress = info.percent
}) this.vUploader.done().then(res=>{ //上传完成回调
this.$message.success('视频文件上传成功')
//this.vStatus='success'
this.vIsUploading=false
this.newsVideoUrl=res.video.url
}).catch(()=>{
this.$message.warning('视频文件上传失败')
this.vStatus='exception'
this.vIsUploading=false
})
},
然后就能获取 文件 id了,最后根据自己的需求去使用这个文件 id
能发现的值得我给你提供一个参考地址,
提别提供: https://www.cnblogs.com/huihuihero/p/13162323.html
vue 接入 vod-js-sdk-v6.js 完成视频上传的更多相关文章
- Vue+Element UI 实现视频上传
一.前言 项目中需要提供一个视频介绍,使用户能够快速.方便的了解如何使用产品以及注意事项. 前台使用Vue+Element UI中的el-upload组件实现视频上传及进度条展示,后台提供视频上传AP ...
- node.js使用express框架进行文件上传
关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...
- Bootstrap fileinput.js,最好用的文件上传组件
本篇介绍如何使用bootstrap fileinput.js(最好用的文件上传组件)来进行图片的展示,上传,包括springMVC后端文件保存. 一.demo 二.插件引入 <link ty ...
- HTML+JS实现视频上传显示进度条
示例代码: css部分: #content{border: 1px solid saddlebrown;padding: 16px;border-radius: 2px} .list {top: 15 ...
- PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例
PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例,在手机上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度,在电脑上鼠标滚轮为缩放,双击则顺时针旋转90度. 下面让我们来看 ...
- vue项目富文本编辑器vue-quill-editor之自定义图片上传
使用富文本编辑器的第一步肯定是先安装依赖 npm i vue-quill-editor 1.如果按照官网富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改 ...
- JAVA SpringMVC + FormDate + Vue + file表单 ( 实现 js 单文件和多文件上传 )
JS 部分 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- js仿百度文库文档上传页面的分类选择器_第二版
仿百度文库文档上传页面的多级联动分类选择器第二版,支持在一个页面同一时候使用多个分类选择器. 此版本号把HTML,CSS,以及图片都封装到"category.js"中.解决因文件路 ...
- Node.js新手教程——怎样实现文件上传功能
作者:zhanhailiang 日期:2014-11-16 本文将介绍怎样使用Node.js实现文件上传功能. 1. 初始化项目信息:npm init [root@~/wade/nodejs/node ...
随机推荐
- infomation_schema基本使用
一.infomation_schema库 把 information_schema 看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信息.如数据库名,数据库 ...
- open jdk 绿色版 下载
https://adoptopenjdk.net/ 是 rethat 的 openjdk 地址, jdk 11 , 进入页面后搜索 : jdk_x64_windo , 下载 zip 绿色版的那个. h ...
- java封装基础详解
java封装基础详解 java的封装性即是信息隐藏,把对象的属性和行为结合成一个相同的独立单体,并尽可能地隐藏对象的内部细节. 封装的特性是对属性来讲的. 封装的目标就是要实现软件部件的"高 ...
- openssl查看证书命令
openssl x509部分命令打印出证书的内容:openssl x509 -in cert.pem -noout -text打印出证书的系列号openssl x509 -in cert.pem -n ...
- Java数组01——声明创建、赋值及特点
数组声明创建 数组的四个基本特点 例子 package array; public class ArrayDemon01 { //变量的类型 变量的名字 = 变量的值 / ...
- 用Python爬取《王者荣耀》英雄皮肤数据并可视化分析,用图说话
大家好,我是辰哥~ 今天辰哥带大家分析一波当前热门手游<王者荣耀>英雄皮肤,比如皮肤上线时间.皮肤类型(勇者:史诗:传说等).价格. 1.获取数据 数据来源于<王者荣耀官方网站> ...
- FSM自动售货机 verilog 实现及 code 细节讲解
1.题目: 饮料1.5 元, 可投入硬币1 元 0.5 元,输出饮料 零钱 2. 画出状态机. 3.仿真结果:coin=1 --> 0.5 元 coin=2-->1元 4.关键代码分析: ...
- canvas也能实现事件系统????
前言 大家好! 我是热爱图形的fly, 之前在群里和粉丝讨论canvas 如何事件系统, 然后呢? 我自己其实也对这个比较感兴趣, 我看过很多canvas 实现的项目, 比如canvas 实现思维导图 ...
- CVE-2020-0796提权操作
简介 最新的windows10中使用了SMBv3协议,SMBv3协议在压缩消息时,未对头部数据做任何检查,导致恶意攻击者可以直接使用,从而导致内存破坏漏洞. 该漏洞可远程进行攻击目标系统,但目前只做到 ...
- 从自旋锁、睡眠锁、读写锁到 Linux RCU 机制讲解
同步自我的 csdn 博客 6.S081 从自旋锁.睡眠锁.读写锁到 Linux RCU 机制讲解_我说我谁呢 --CSDN博客 总结一下 O/S 课程里面和锁相关的内容. 本文是 6.S0 ...