记录一下,
-(void)downloadFile:(NSString *)FileUrl{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:FileUrl]];
MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
HUD.labelText = @"下载中";
HUD.square = YES;
[self.view addSubview:HUD];
NSURLSessionDownloadTask *downlaodTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
//计算文件的下载进度
NSLog(@"%f",1.0 * downloadProgress.completedUnitCount / downloadProgress.totalUnitCount);
} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
//文件的全路径
NSString *fullpath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:response.suggestedFilename];
NSURL *fileUrl = [NSURL fileURLWithPath:fullpath];
NSLog(@"%@\n%@",targetPath,fullpath);
return fileUrl;
} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
NSLog(@"%@",filePath);
NSString *str = [filePath path];//一定要转成string 不能用absoluteString,否则路径之前有file://
/************************在此处处理下载完成后的操作,比如:展示************************/
}];
//3.执行Task
[downlaodTask resume];
}