AFURLSessionManager 上传下载使用代码说明

AFURLSessionManager 上传下载使用代码说明,第1张

概述1、下载CreatingaDownloadTaskNSURLSessionConfiguration*configuration=[NSURLSessionConfigurationdefaultSessionConfiguration];

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(@"%@ %@",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,error);     } else {       NSLog(@"%@ %@",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 上传下载使用代码说明,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

总结

以上是内存溢出为你收集整理的AFURLSessionManager 上传下载使用代码说明全部内容,希望文章能够帮你解决AFURLSessionManager 上传下载使用代码说明所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1144572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存