iOS视频下载成功block回调

一:在VC中调用下载类方法;

[HTXGolfVideoBufferMemory downLoadGolfVideoWithPath:littleVideoPath andURL:_url andWithDownLoadCompelition:^(NSString *path) {
// _url = path;
DSLog(@"下载完成地址 %@",path);
}];

二:在下载类方法中实现;


typedef void (^DownLoadCompeteBlcok)(NSString * path);


@interface HTXGolfVideoBufferMemory : NSObject


+ (void)createFile:(NSString*)path WithData:(NSData*)imgData andWithDownLoadCompelition : (DownLoadCompeteBlcok) downCompelition;;


+ (void) downLoadGolfVideoWithPath:(NSString *)littleVideoPath andURL:(NSString *)url andWithDownLoadCompelition : (DownLoadCompeteBlcok) downCompelition;


//创建缓存路径 并且下载到本地
+ (void)createFile:(NSString*)path WithData:(NSData*)imgData andWithDownLoadCompelition : (DownLoadCompeteBlcok) downCompelition{ // file
path = [path stringByAppendingString:@"OVER"];

[[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
// write
NSFileHandle*dataHandle = [NSFileHandle fileHandleForUpdatingAtPath:path] ;
[dataHandle writeData:imgData];
if (downCompelition) {
downCompelition(path);
}
// close
[dataHandle closeFile];
}

//创建多线程下载
+ (void) downLoadGolfVideoWithPath:(NSString *)littleVideoPath andURL:(NSString *)url andWithDownLoadCompelition:(DownLoadCompeteBlcok) downCompelition{

NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
NSData *littleVideoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
[self createFile:littleVideoPath WithData:littleVideoData andWithDownLoadCompelition:downCompelition];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
DSLog(@"视频缓存成功");
}];
}];
NSOperationQueue *queue = [[NSOperationQueue alloc]init];
[queue addOperation:operation];



}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值