简进祥===AFNetWorking 下载视频文件

获取沙盒中的Documents地址的代码。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
  • 1
  • 2
  • 1
  • 2

假设视频文件的网络url为http://www.abc.com/test.mp4,下载到iOS沙盒中的文件名为test.mp4。

利用如下代码便可实现视频文件的下载和存储, 注意在生成网络url的时候使用NSURL的类方法URLWithString,这样才可以请求网络url,使用fileURLWithPath用来访问本地文件。这是我遇到的一个不大不小的坑,浪费了不少时间。

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSString  *fullPath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, @"test.mp4"];
NSURL *url = [NSURL URLWithString:@"http://www.abc.com/test.mp4"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSessionDownloadTask *task =
[manager downloadTaskWithRequest:request
                        progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
                            return [NSURL fileURLWithPath:fullPath];
                        }
               completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {

               }];
[task resume];
posted @ 2016-08-02 18:02  简进祥  阅读(639)  评论(0编辑  收藏  举报