分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

AFURLSessionManager 上传下载使用

发布时间:2023-09-06 01:08责任编辑:白小东关键词:暂无标签

1、下载 Creating a Download Task

 ???NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; ?????AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; ???????????NSURL *URL = [NSURL URLWithString:@"http://example.com/download.zip"]; ?????NSURLRequest *request = [NSURLRequest requestWithURL:URL]; ???????????NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) { ?????????NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]; ?????????return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]]; ?????} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { ?????????NSLog(@"File downloaded to: %@", filePath); ?????}]; ?????[downloadTask resume]; ?

2、上传 Creating an Upload Task

 ???NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; ?????AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; ???????????NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"]; ?????NSURLRequest *request = [NSURLRequest requestWithURL:URL]; ???????????NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; ?????NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { ?????????if (error) { ?????????????NSLog(@"Error: %@", error); ?????????} else { ?????????????NSLog(@"Success: %@ %@", response, responseObject); ?????????} ?????}]; ?????[uploadTask resume]; ?

3、批量上传 Creating an Upload Task for a Multi-Part Request, with Progress

 ???NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://example.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { ?????????????[formData appendPartWithFileURL:[NSURL fileURLWithPath:@"file://path/to/image.jpg"] name:@"file" fileName:@"filename.jpg" mimeType:@"image/jpeg" error:nil]; ?????????} error:nil]; ???????????AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; ???????????NSURLSessionUploadTask *uploadTask; ?????uploadTask = [manager ???????????????????uploadTaskWithStreamedRequest:request ???????????????????progress:^(NSProgress * _Nonnull uploadProgress) { ???????????????????????// This is not called back on the main queue. ???????????????????????// You are responsible for dispatching to the main queue for UI updates ???????????????????????dispatch_async(dispatch_get_main_queue(), ^{ ???????????????????????????//Update the progress view ???????????????????????????[progressView setProgress:uploadProgress.fractionCompleted]; ???????????????????????}); ???????????????????} ???????????????????completionHandler:^(NSURLResponse * _Nonnull response, id ?_Nullable responseObject, NSError * _Nullable error) { ???????????????????????if (error) { ???????????????????????????NSLog(@"Error: %@", error); ???????????????????????} else { ???????????????????????????NSLog(@"%@ %@", response, responseObject); ???????????????????????} ???????????????????}]; ???????????[uploadTask resume]; ?

4、数据任务 Creating a Data Task

 ???NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; ?????AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; ???????????NSURL *URL = [NSURL URLWithString:@"http://httpbin.org/get"]; ?????NSURLRequest *request = [NSURLRequest requestWithURL:URL]; ???????????NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { ?????????if (error) { ?????????????NSLog(@"Error: %@", error); ?????????} else { ?????????????NSLog(@"%@ %@", response, responseObject); ?????????} ?????}]; ?????[dataTask resume]; ?

5、请求参数设置 Request Serialization

Request serializers create requests from URL strings, encoding parameters as either a query string or HTTP body.

 ???NSString *URLString = @"http://example.com"; ?????NSDictionary *parameters = @{@"foo": @"bar", @"baz": @[@1, @2, @3]}; ?

AFURLSessionManager 上传下载使用

原文地址:http://www.cnblogs.com/jukaiit/p/7465506.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved