之前维护一个项目用到VODUpload上传头像,因为太忙,并没有深入研究,在此先记录一下简单的使用。
1、官方连接demo连接
安装SDK:

pod 'VODUpload'

导入头文件

#import <VODUpload/VODUploadClient.h>
#import <VODUpload/VODUploadModel.h>

2、初始化VODUpload

#pragma mark --初始化
- (void)initVODUpload {WEAKSELF;OnUploadStartedListener testUploadStartedCallbackFunc = ^(UploadFileInfo* fileInfo) {NSLog(@"upload started .");[weakSelf.uploader setUploadAuthAndAddress:fileInfo uploadAuth:weakSelf.codeModel.UploadAuth uploadAddress:weakSelf.codeModel.UploadAddress];};OnUploadSucceedListener testSuccessCallbackFunc = ^(UploadFileInfo* fileInfo){NSLog(@"file:%@ upload success!", fileInfo.filePath);dispatch_async(dispatch_get_main_queue(), ^{[weakSelf updateHeaderImg];});};OnUploadFailedListener testFailedCallbackFunc = ^(UploadFileInfo* fileInfo, NSString *code, NSString * message){NSLog(@"failed, filePath:%@, code = %@, error message = %@", fileInfo.filePath, code, message);};// 单位:字节OnUploadProgressListener testProgressCallbackFunc = ^(UploadFileInfo* fileInfo, long uploadedSize, long totalSize) {NSLog(@"progress uploadedSize : %li, totalSize : %li", uploadedSize, totalSize);};OnUploadTokenExpiredListener testTokenExpiredCallbackFunc = ^{NSLog(@"*token expired.");// get token and call resmeUploadWithAuth.};OnUploadRertyListener testUploadRertyListener = ^{NSLog(@"retry begin.");};OnUploadRertyResumeListener testUploadRertyResumeListener = ^{NSLog(@"retry resume.");};VODUploadListener *listener;listener = [[VODUploadListener alloc] init];listener.started = testUploadStartedCallbackFunc;listener.success = testSuccessCallbackFunc;listener.failure = testFailedCallbackFunc;listener.progress = testProgressCallbackFunc;listener.expire = testTokenExpiredCallbackFunc;listener.retry = testUploadRertyListener;listener.retryResume = testUploadRertyResumeListener;self.uploader = [[VODUploadClient alloc] init];[self.uploader init:@"LTAI4GL54MAJesJsDyXKaWgG" accessKeySecret:@"sEo0LFyWksDtGhwxs649qdkLZr6cB0" listener:listener];
}

3、上传文件

#pragma mark --上传视频文件
- (void)uploadVideo{NSLog(@"上传视频文件:%@", self.selectPathFile);[self.uploader addFile:self.selectPathFile vodInfo:nil];//注意:开始上传前要先获取授权,开始上传时需要用到授权信息这里是关键,需要从服务器获得两个参数[self getUploadAuthAndAddressWithFilePath:self.selectPathFile];__weak typeof(self) weakSelf = self;OnUploadStartedListener testUploadStartedCallbackFunc = ^(UploadFileInfo* fileInfo) {NSLog(@"upload started .");[weakSelf.uploader setUploadAuthAndAddress:fileInfo uploadAuth:weakSelf.codeModel.UploadAuth uploadAddress:weakSelf.codeModel.UploadAddress];};
}

4、从后台获得UploadAuth和UploadAddress

#pragma mark --获取授权
- (void)getUploadAuthAndAddressWithFilePath:(NSString *)filePath {if (!filePath) {NSLog(@"视频文件路径错误");return;}NSArray *arr1 = [filePath componentsSeparatedByString:@"/"];NSString *fileName = [arr1 lastObject];if (!fileName) {NSLog(@"获取视频文件名称错误");return;}NSArray *arr2 = [fileName componentsSeparatedByString:@"."];NSString *fileTitle = [arr2 firstObject];if (!fileTitle) {NSLog(@"获取视频文件标题错误");return;}WEAKSELF;NSMutableDictionary *parameters = [NSMutableDictionary dictionary];[self showLoadingHud];[HBNetworkService POST:url parameters:parameters success:^(LBResponse *response) {[weakSelf dissmissHud];if (response.succeed) {NSDictionary *dic = response.result[@"resultdata"];if (ValidDict(dic)) {//获得后台传过来的数据weakSelf.codeModel = [HBAuthCodeModel mj_objectWithKeyValues:dic];//开始上传[weakSelf.uploader start];}}else{//请求错误[weakSelf showInfoHudWithMessage:response.message] ;}} failure:^(NSError *error) {[weakSelf dissmissHud];[weakSelf showInfoHudWithMessage:RequestServerFaild] ;}];
}

END.

iOS 阿里云短视频上传相关推荐

  1. 阿里云oss视频上传后,如何获取视频封面

    前言:在阿里云oss视频上传后,我们如何获取视频封面呢?而不是通过上传方式获取封面.其实OSS本身提供了视频截帧功能 OSS提供的视频截帧功能和OSS图片服务功能使用的方式是类似的,都是通过传入x-o ...

  2. nuxt实现阿里云vod视频上传时候引入vod相关的js时候遇到的坑

    https://blog.csdn.net/qq_37880968/article/details/90373361 这位到老哥用nuxt实现了视频上传的功能,但是我卡在了引入js文件那里,后来弄了挺 ...

  3. 阿里云视频点播-视频上传失败(一直显示上传中)

    控制台显示ErrorCode=null 这说明aliyun-java-vod-upload版本不对应 如今官网给出的最高版本为1.4.14,使用1.4.11版本即可上传成功 这里我将该1.4.11版本 ...

  4. 阿里云短视频SDK for iOS —— (二)静态与动态贴纸拍摄

    一般我们在拍摄时都会有 静态贴纸 和 动态贴纸 的需求,如下图所示 阿里云短视频SDK也为开发者提供了相关的API,下面我就分别介绍 静态贴纸 与 动态贴纸 拍摄的实现过程 静态贴纸 静态贴纸一般用于 ...

  5. 解决阿里云oss文件上传部分MP4格式视频文件上传导致上传崩溃问题

    解决阿里云oss文件上传部分MP4格式视频文件上传导致上传崩溃问题 问题描述 java程序,使用阿里云oss文件上传服务,在测试时偶然发现,我用苹果手机开启高清进行摄像,将原图通过qq传到电脑上,在电 ...

  6. 阿里云视频点播-->>>阿里云媒资上传工具类及配置

    阿里云媒资上传 官网: 介绍 1.阿里云视频点播 2.视频服务流程 三,测试类中编写代码 四,媒资管理管理配置-存储管理 五,开始编写我们的JAVA代码 1.application.yml 2.配置类 ...

  7. 最快1天搭建短视频APP!阿里云短视频解决方案上线

    为什么80%的码农都做不了架构师?>>>    短视频行业的发展前景乐观是毋庸置疑的,整个短视频的市场规模一直在增长,网络数据显示2018年已经突破100亿大关,在2019年预测将超 ...

  8. 4G模块接入阿里云-实现数据上传和命令下发

    功能介绍: 使用4G模块EC600S和32单片机实现接入阿里云服务器,上传光照数据和下发命令控制LED灯(PC13),同时可以打电话.发短信. 前期准备: 1.首先你得有一个阿里云的账号,没有的话就注 ...

  9. 阿里云视频点播 批量上传

    记录我惨痛的阿里云视频点播批量上传教训~~(Javascript SDK 上传)     阿里的点播视频上传官方文档是很精简,也有案例,无奈我这个渣渣看了官方文档始终不理解它的内部机制.看了好多案例, ...

最新文章

  1. Android开发中StackOverflowError错误实例分析
  2. 随机迷宫 c语言思路,[原创]递归随机迷宫生成算法详解
  3. 分布式离线计算—MapReduce—基本原理
  4. 大剑无锋之Java的深浅拷贝解释一下!
  5. windows PHP Cli模式下配置
  6. Python 只读属性的实现
  7. 字符串全排列 java实现
  8. ETF:一种让美国“80后”趋之若鹜的投资工具
  9. 廖雪峰Python教程学习笔记
  10. Linux 添加中文字体库
  11. plsqldev 技巧
  12. lstm优点缺点_LSTM和易失性时间序列:优点和缺点
  13. js根据url下载文件并重命名,兼容ie11(其他版本未测试)
  14. python颜值测试器
  15. 微信朋友圈营销如何做好头像_昵称_签名_背景基础设置?
  16. 要跳过磁盘检查,请在5秒内按任意键如何解决
  17. hive中的绣花模型_跨界媒介的碰撞:蜂巢+刺绣 | Ava Roth 「艺术访谈」
  18. 大数据量下水晶报表的实现及显示过程中的进度条显示讨论
  19. C++中int a和int a的区别
  20. sqlserver2008R2在配置复制分发时报错:在执行xp_cmdshell的过程中出错

热门文章

  1. html正方形单选框代码,单选框/复选框
  2. java中 什么是常量、变量以及数据类型、注释方法有哪些
  3. 单变量线性回归的最小二乘法公式
  4. 2023 个人引导页开源单页html源码
  5. ClickHouse 实现有序漏斗分析与数据可视化
  6. LevelDB初体验
  7. android ApplicationInfo类
  8. [SGN]SGN: Sequential Grouping Networks for Instance Segmentation
  9. onclick 阻止冒泡
  10. Move or commit them before merge