1、开通阿里云服务,获取userId

官方文档地址:https://help.aliyun.com/document_detail/52204.html?spm=a2c4g.11186623.6.915.51366bd19lzWGq

2、下载第三方js库:

放在src/assets/lib文件夹下

3、引入使用第三方库:

告诉angular去哪加载库

在angular.json中找到“scripts”节点,加入如下配置:

"scripts": ["src/assets/lib/aliyun-upload-sdk/lib/aliyun-oss-sdk-5.3.1.min.js","src/assets/lib/aliyun-upload-sdk/aliyun-upload-sdk-1.5.0.min.js"
]

4、声明库中的对象

将oss-sdk中的OSS对象和upload-sdk中的AliyunUpload对象声明到typescript中,以便在其他组件中使用,如果不做该声明在其他组件中是无法使用这两个对象的,会出现编译错误。

在typings.d.ts文件中加入:

declare var OSS: any;
declare var AliyunUpload: any;

5、使用上传地址和凭证方式来上传视频

具体效果图:

html:

<input type="file" (change)="fileChange($event)">
<span class="progress">上传进度: {{authProgress}} %</span>

ts:

fileChange(e) {this.file = e.target.files[0]if (!this.file) {this.message.warning("请先选择需要上传的文件!")return}var userData = '{"Vod":{}}'if (this.uploader) {this.uploader.stopUpload()this.authProgress = 0this.statusText = ""}this.uploader = this.createUploader()console.log(userData)this.uploader.addFile(this.file, null, null, null, userData)
}
authUpload() {// 然后调用 startUpload 方法, 开始上传if (this.uploader !== null) {this.uploader.startUpload()}
}
createUploader() {let self = thislet uploader = new AliyunUpload.Vod({timeout: 60000,partSize: 1048576,parallel: 5,retryCount: 3,retryDuration: 2,userId: '1510586187070032',// 添加文件成功addFileSuccess: function (uploadInfo) {self.statusText = '添加文件成功, 等待上传...'console.log("addFileSuccess: " + uploadInfo.file.name)self.authUpload();},// 开始上传onUploadstarted: function (uploadInfo) {// 如果是 UploadAuth 上传方式, 需要调用 uploader.setUploadAuthAndAddress 方法self.httpClient.post('/api/admin/video/uploadAuth', {file: uploadInfo.file.name,title: self.editData.name,poster: self.editData.poster}).subscribe((res: {}) => {const resData: any = res;let data = resData.result.message;self.editData.videoId = data.VideoId;uploader.setUploadAuthAndAddress(uploadInfo, data.UploadAuth, data.UploadAddress, data.VideoId)})self.statusText = '文件开始上传...'console.log("onUploadStarted:" + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object)},// 文件上传成功onUploadSucceed: function (uploadInfo) {console.log("onUploadSucceed: " + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object)self.statusText = '文件上传成功!'},// 文件上传失败onUploadFailed: function (uploadInfo, code, message) {console.log("onUploadFailed: file:" + uploadInfo.file.name + ",code:" + code + ", message:" + message)self.statusText = '文件上传失败!'},// 取消文件上传onUploadCanceled: function (uploadInfo, code, message) {console.log("Canceled file: " + uploadInfo.file.name + ", code: " + code + ", message:" + message)self.statusText = '文件已暂停上传'},// 文件上传进度,单位:字节, 可以在这个函数中拿到上传进度并显示在页面上onUploadProgress: function (uploadInfo, totalSize, progress) {console.log("onUploadProgress:file:" + uploadInfo.file.name + ", fileSize:" + totalSize + ", percent:" + Math.ceil(progress * 100) + "%")let progressPercent = Math.ceil(progress * 100)self.authProgress = progressPercentself.statusText = '文件上传中...'},// 上传凭证超时onUploadTokenExpired: function (uploadInfo) {// 上传大文件超时, 如果是上传方式一即根据 UploadAuth 上传时// 需要根据 uploadInfo.videoId 调用刷新视频上传凭证接口(https://help.aliyun.com/document_detail/55408.html)重新获取 UploadAuth// 然后调用 resumeUploadWithAuth 方法, 这里是测试接口, 所以我直接获取了 UploadAuthself.statusText = '文件超时...'},// 全部文件上传结束onUploadEnd: function (uploadInfo) {console.log("onUploadEnd: uploaded all the files")self.statusText = '文件上传完毕'}})return uploader
}

前端上传视频至阿里云相关推荐

  1. vue + elementUI upload组件,前端上传视频到阿里云视频点播

    1.视频上传阿里云,首先引用阿里云的sdk,放在所需界面中引用 import '@/utils/aliyun-oss-sdk-6.13.0.min.js';import '@/utils/aliyun ...

  2. 批量上传视频到阿里云

    批量上传视频到阿里云 这段时间项目里有一个上传视频到阿里云的功能是我来负责写的,之前一直没有写过这种功能,感觉很难的亚子,但是后来仔细研究了一遍发现也没想象中那么难,最后经过不懈的努力也算是搞出来了哈 ...

  3. 上传视频到阿里云服务器

    ######上传视频到阿里云服务器工具类 1.maven坐标 <dependency><groupId>com.aliyun</groupId><artifa ...

  4. Springboot上传视频到阿里云(视频点播)和aliyun-java-sdk-vod依赖报红问题

    一.pom.xm中导入依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-ja ...

  5. easyswoole上传视频到阿里云(继承上面easyswoole视频上传大小限制取消代码)

    参考网址 https://help.aliyun.com/document_detail/61388.html 在easuswoole根目录下面的ini文件夹下,新建aliyun.ini access ...

  6. vue 直接上传视频到阿里云oss

    1.安装oss npm install ali-oss --save 2.在src下的util文件创建utils.js工具类 /*** 时间日期格式化* @param format* @returns ...

  7. Android(安卓)上传文件到阿里云点播,阿里云点播转码

    Android(安卓)上传文件到阿里云点播,阿里云点播转码 文章目录 Android(安卓)上传文件到阿里云点播,阿里云点播转码 一:登录阿里云点播平台配置添加转码模板组 1:需要什么参数,可自行填写 ...

  8. 微信小程序直接上传文件到阿里云OSS组件封装

    微信小程序直接上传文件到OSS 1. 封装公共方法 在根目录utils目录新建一个upload文件夹: // utils/upload/base64.jsvar base64EncodeChars = ...

  9. mac SCp上传文件到阿里云服务器centos

    1.mac链接远程阿里云服务器centos命令: ssh -A -p 22 root@ip 2.mac上传文件到阿里云centos: 3.阿里云服务器weapps下文件删除命令: 4.上传文件相关 m ...

最新文章

  1. 一招一式攻克linux(五)
  2. 都在说微服务,那么微服务的反模式和陷阱是什么(一)
  3. 计算机网络第五章:运输层
  4. 6kyu Build a pile of Cubes
  5. 如何做SEO项目管理?
  6. linux nodejs环境部署,Linux 部署Nodejs 环境 (自学记录篇)
  7. 亚马逊如何变成 SOA(面向服务的架构)?
  8. linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)
  9. [CF.Skills]Windows Mobile如何编程实现免提功能
  10. android中一些常用的VIEW动作类型
  11. 浮动特性-脱标(HTML、CSS)
  12. 一个特牛的日期时间判断正则表达式
  13. 110 redis的哨兵集群 redis-cluster docker安装
  14. proteus 7.8下载链接
  15. 单商户商城系统功能拆解19—订单管理
  16. 海康威视录像机(DVR)卡在开机画面
  17. 主流邮箱的反垃圾邮件技术
  18. 人工智能芯片龙头之一gti概念股_AI芯片相关股票有哪些?AI芯片概念股票龙头一览...
  19. 还在用Navicat?这款开源的数据库管理工具界面更炫酷!
  20. java图形界面编程如何给窗口设置背景图片

热门文章

  1. 应用QQ2440(s3c2440)ARM开发板驱动MMA7455加速度计的linux设备驱动编写
  2. dubbo2.7.x
  3. shell awk命令详解
  4. UUID的含义及实现原理
  5. 【详细整理】广度优先算法
  6. 期货交易原理(期货交易原理与实务)
  7. YYModel之字典/Json转模型
  8. android ROM设置默认Launcher(主屏幕应用)
  9. ViewPager的使用及获取子view控件的操作(inflate)
  10. Lattice ddr3教程全攻略之时序约束篇