首页 > 代码库 > NSURLSession实现下载(不能看到下载进度)
NSURLSession实现下载(不能看到下载进度)
NSURLSession实现下载(不能看到下载进度)
/**
* 下载任务:不能看到下载进度*/
- (void)downloadTask
{
// 1.得到session对象
NSURLSession *session = [NSURLSessionsharedSession];
// 2.创建一个下载task
NSURL *url = [NSURLURLWithString:@"http://localhost:8080/MJServer/resources/test.mp4"];
NSURLSessionDownloadTask *task = [session downloadTaskWithURL:urlcompletionHandler:^(NSURL*location, NSURLResponse *response,NSError *error) {
// location : 临时文件的路径(下载好的文件)
NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) lastObject];
// response.suggestedFilename : 建议使用的文件名,一般跟服务器端的文件名一致
NSString *file = [cachesstringByAppendingPathComponent:response.suggestedFilename];
// 将临时文件剪切或者复制Caches文件夹
NSFileManager *mgr = [NSFileManagerdefaultManager];
// AtPath : 剪切前的文件路径
// ToPath : 剪切后的文件路径
[mgr moveItemAtPath:location.pathtoPath:fileerror:nil];
}];
// 3.开始任务
[task resume];
}
注意:
NSURLSessionDownloadTask下载完成之后,将数据保存在沙盒里面的tmp临时文件中,需要将临时文件将临时文件剪切或者复制Caches文件夹。
NSURLSession实现下载(不能看到下载进度)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。