前言:
最近做即时聊天项目,涉及到视频的上传下载。AFNetworking上传图片和视频(支持多张图片上传)
在视频下载中遇到一些问题,视频下载后无法播放
1 视频下载方法
/** * 下载文件 */ - (void)downloadFileURL:(NSString *)aUrl savePath:(NSString *)aSavePath fileName:(NSString *)aFileName tag:(NSInteger)aTag { NSFileManager *fileManager = [NSFileManager defaultManager]; //检查本地文件是否已存在 NSString *fileName = [NSString stringWithFormat:@"%@/%@", aSavePath, aFileName]; //检查附件是否存在 if ([fileManager fileExistsAtPath:fileName]) { NSData *audioData = [NSData dataWithContentsOfFile:fileName]; //...视频下载完毕操作 }else{ //创建附件存储目录 if (![fileManager fileExistsAtPath:aSavePath]) { [fileManager createDirectoryAtPath:aSavePath withIntermediateDirectories:YES attributes:nil error:nil]; } //下载附件 NSURL *url = [[NSURL alloc] initWithString:aUrl]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; operation.inputStream = [NSInputStream inputStreamWithURL:url]; operation.outputStream = [NSOutputStream outputStreamToFileAtPath:fileName append:NO]; //下载进度控制 /* [operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) { NSLog(@"is download:%f", (float)totalBytesRead/totalBytesExpectedToRead); }]; */ //已完成下载 [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { NSData *audioData = [NSData dataWithContentsOfFile:fileName]; //设置下载数据到res字典对象中并用代理返回下载数据NSData //...视频下载完毕操作 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //下载失败 //...视频下载失败操作 }]; [operation start]; } }
3 在下载其他文件时,如图片,录音,并未发现不加后缀就不正常显示或播放问题,有了解的或做IM项目的欢迎找我交流。我的软件群 156747694
版权声明:本文为博主原创文章,未经博主允许不得转载。
iOS视频下载遇到的问题(附上AFHTTPRequestOperation下载视频方法)
原文地址:http://blog.csdn.net/jueyi1127/article/details/47025053