iOS视频下载遇到的问题(附上AFHTTPRequestOperation下载视频方法)
2015-07-23 17:05
501 查看
前言:
最近做即时聊天项目,涉及到视频的上传下载。AFNetworking上传图片和视频(支持多张图片上传)
在视频下载中遇到一些问题,视频下载后无法播放
1 视频下载方法
2 下载完视频后,文件没有加后缀.MP4 就会出现播放不了的情况,我的解决方法是,在上面的filename加一个后缀.mp4,播放就ok了。
3 在下载其他文件时,如图片,录音,并未发现不加后缀就不正常显示或播放问题,有了解的或做IM项目的欢迎找我交流。我的软件群
156747694
最近做即时聊天项目,涉及到视频的上传下载。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]; } }
2 下载完视频后,文件没有加后缀.MP4 就会出现播放不了的情况,我的解决方法是,在上面的filename加一个后缀.mp4,播放就ok了。
3 在下载其他文件时,如图片,录音,并未发现不加后缀就不正常显示或播放问题,有了解的或做IM项目的欢迎找我交流。我的软件群
156747694
相关文章推荐
- hession开发遇到的问题 Server returned HTTP response code: 500 for URL:
- Android使用VideoView和MediaController播放网络视频(包括横竖排切换的处理)
- TCP详解
- TCP详解
- TCP详解
- 赛门铁克网络版杀毒软件SEP布署小记
- Exchange2003中只键入“http://服务器”来名访问OWA
- iOS实用技巧 - AFNetworking2安全的使用自签证书访问HTTPS
- android httpclient
- http status
- Android 中//此句无响应 HttpResponse httpResponse = httpClient.execute(post);
- Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包(四十三)
- 如何快速找到下载主机,解决网络拥塞问题。
- iOS 自己封装的网络请求,json解析的类
- 网络编程(网络基础,OSI参考模型,UDP传输协议,TCP传输协议,URL类和URLConnection类)
- 使用python SimpleHTTPServer 快速搭建Web服务器
- TCP连接中TIME_WAIT连接过多
- AFNetWorking中进行HTTPS网络请求
- TCP的keep-alive小结
- https 双向认证