新人求助afnetworking文档 post请求的demo

AFNetworking post json数据错误在线求解答-中国学网-中国IT综合门户网站
> AFNetworking post json数据错误在线求解答
AFNetworking post json数据错误在线求解答
转载 编辑:李强
为了帮助网友解决“AFNetworking post js”相关的问题,中国学网通过互联网对“AFNetworking post js”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:AFNetworking post json数据错误在线求解答,具体解决方案如下:解决方案1:XXXX&XXXX&quot:url parameters://xxxxx&/;: %@&html或别的manager, error);1&申明返回的结果是json类型manager.acceptableContentTypes = [NSSet setWithO/&#47, id responseObject) { NSLog(@&JSON;/:@&quot:@&;html&//发送请求[manager POST;}]:parameters success.responseSerializer.responseSerializer = [AFJSONResponseSerializer serializer].requestSerializer=[AFJSONRequestSerializer serializer];];&#47, NSError *error) { NSLog(@&quot,@&/;XXXXX&quot:@&2&}如果报接受类型不一致请替换一致text&#47,@&};/: %@&传入的参数NSDictionary *parameters = @{@&quot:^(AFHTTPRequestOperation *E申明请求的数据是json类型AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];/你的接口地址NSString *url=@&text&#47:@&/3&&#47://xxxxx" target="_blank">通过对数据库的索引,我们还为您准备了:答:可以用js实现:这是以前写的里面的一小部分,,关键是指定html控件的disabled设置成false为不显示,true为显示; function ChangeMessageOption() { UserInput1.disabled = UserInput1.style.display = 'none'; UserInput2.style.display = 'in...===========================================答:推荐去看 http://my.oschina.net/gexun/blog/316408===========================================答:随着asihttprequest的停止更新,许多人都转向了AFNetworking、 MKNetworkKit.我也是其中一个。于是我从网上找了许多文章作参考,但是结果都是失败告终。研究了好久都搞不透,最后还是请人帮忙搞定了。经常从网上索取免费资料的一员,要有回报的...===========================================答:AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@""]];//这里要将url设置为空 httpClient.parameterEncoding = AFJSONParameterE [httpClient setDefaultHeader:@"Accept" value:@"text/json"...===========================================答://发送post请求的同时传入cookie + (void)requestCookieWithPath:(NSString *)path Params:(NSDictionary *)params Method:(NSString *)method Success:(HttpSuccessBlock)success{ //创建post请求 //创建AFHTTPClient对象 AFHTTPClient *client...===========================================答:随着asihttprequest的停止更新,许多人都转向了AFNetworking、 MKNetworkKit.我也是其中一个。于是我从网上找了许多文章作参考,但是结果都是失败告终。 研究了好久都搞不透,最后还是请人帮忙搞定了。===========================================答:您好。 AFNetWorking的代码包里面包含examle埃 不需要第三方库,直接就可以实现GET和POST请求 LZ多看看帮忙手册吧,上面都有写的。 如果还有问题,可以继续追问,感谢。===========================================答:NSMutableDictionary *parameters=[NSMutableDictionary dictionary]; [parameters setObject:value forKey:key]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager POST:BaseUrl parameters:parame...===========================================答:NSMutableDictionary *parameters=[NSMutableDictionary dictionary]; [parameters setObject:value forKey:key]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager POST:BaseUrl parameters:parame...===========================================说的很清楚,每一个对的第二个对象必须是非空的,或者是你忘掉了参数列表最后的一个nil,检查一下看你post提交的数据是不是有空值,只能看到这么多,发请求之前把你的body打...===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助新人求助afnetworking post请求的demo_百度知道
新人求助afnetworking post请求的demo
提问者采纳
研究了好久都搞不透,许多人都转向了AFNetworking.我也是其中一个。于是我从网上找了许多文章作参考,但是结果都是失败告终,最后还是请人帮忙搞定了随着asihttprequest的停止更新、 MKNetworkKit
其他类似问题
为您推荐:
demo的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁iOS 问题:有谁用AFNetworking http请求 请问post怎么写 postPath:parameters:success:这个方法不行。 -
有谁用AFNetworking http请求 请问post怎么写 postPath:parameters:success:这个方法不行。
共有 4 个回答
NSDictionary *parameters = @{@"a": @"a",
@"b": @"b"};
AFHTTPClient *client= [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://www.***.com"]];
[client setParameterEncoding:AFJSONParameterEncoding];
[client postPath:@"***.php"
parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@",operation.responseString);
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",operation.request.URL);
但返回那地址的html 参数没传进入
登录后方可回复
@Charmaine : 啥意思,operation.responseString就是返回的html啊
登录后方可回复
@M先森 : 就是返回baseurl 的 html代码
传参数没用
登录后方可回复
@Charmaine : 还是没看懂。
登录后方可回复
登录后方可回答
耗时 0.0788 秒23807人阅读
AFNetworking是一个轻量级的iOS网络通信类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单。它支持HTTP请求和基于REST的网络服务(包括GET、POST、
PUT、DELETE等)。支持ARC。
Github地址:
MJViewController.m
03.AFN演练
Created by apple on 14-4-30.
Copyright (c) 2014年 itcast. All rights reserved.
#import &MJViewController.h&
#import &AFNetworking.h&
@interface MJViewController ()
@implementation MJViewController
要使用常规的AFN网络访问
1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
所有的网络请求,均有manager发起
2. 需要注意的是,默认提交请求的数据是二进制的,返回格式是JSON
1& 如果提交数据是JSON的,需要将请求格式设置为AFJSONRequestSerializer
2& 如果返回格式不是JSON的,
3. 请求格式
AFHTTPRequestSerializer
二进制格式
AFJSONRequestSerializer
AFPropertyListRequestSerializer
PList(是一种特殊的XML,解析起来相对容易)
4. 返回格式
AFHTTPResponseSerializer
二进制格式
AFJSONResponseSerializer
AFXMLParserResponseSerializer
XML,只能返回XMLParser,还需要自己通过代理方法解析
AFXMLDocumentResponseSerializer (Mac OS X)
AFPropertyListResponseSerializer
AFImageResponseSerializer
AFCompoundResponseSerializer
- (void)viewDidLoad
[super viewDidLoad];
[self reach];
#pragma mark - 演练
#pragma mark - 检测网络连接
- (void)reach
AFNetworkReachabilityStatusUnknown
AFNetworkReachabilityStatusNotReachable
AFNetworkReachabilityStatusReachableViaWWAN = 1,
// 3G 花钱
AFNetworkReachabilityStatusReachableViaWiFi = 2,
// 局域网络,不花钱
// 如果要检测网络状态的变化,必须用检测管理器的单例的startMonitoring
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
// 检测网络连接的单例,网络变化时的回调方法
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@&%d&, status);
#pragma mark - Session 下载
- (void)sessionDownload
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:config];
NSString *urlString = @&http://localhost/itcast/videos/01.C语言-语法预览.mp4&;
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
// 指定下载文件保存的路径
NSLog(@&%@ %@&, targetPath, response.suggestedFilename);
// 将下载文件保存在缓存路径中
NSString *cacheDir = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *path = [cacheDir stringByAppendingPathComponent:response.suggestedFilename];
// URLWithString返回的是网络的URL,如果使用本地URL,需要注意
NSURL *fileURL1 = [NSURL URLWithString:path];
NSURL *fileURL = [NSURL fileURLWithPath:path];
NSLog(@&== %@ |||| %@&, fileURL1, fileURL);
return fileURL;
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
NSLog(@&%@ %@&, filePath, error);
[task resume];
#pragma mark - POST JSON
- (void)postJSON
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *dict = @{@&name&: @&zhangsan&};
NSDictionary *dict1 = @{@&name&: @&wangwu&};
NSArray *array = @[dict, dict1];
// 设置请求格式
manager.requestSerializer = [AFJSONRequestSerializer serializer];
// 设置返回格式
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:@&http://localhost/postjson.php& parameters:array success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@&%@&, result);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
#pragma mark - 随机文件名上传
- (void)postUpload1
// 本地上传给服务器时,没有确定的URL,不好用MD5的方式处理
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:@&http://localhost/demo/upload.php& parameters:nil constructingBodyWithBlock:^(id&AFMultipartFormData& formData) {
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@&头像1.png& withExtension:nil];
// 要上传保存在服务器中的名称
// 使用时间来作为文件名
14:20:57.png
// 让不同的用户信息,保存在不同目录中
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 设置日期格式
formatter.dateFormat = @&yyyy-MM-dd HH:mm:ss&;
NSString *fileName = [formatter stringFromDate:[NSDate date]];
[formData appendPartWithFileURL:fileURL name:@&uploadFile& fileName:fileName mimeType:@&image/png& error:NULL];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@&OK&);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@&error&);
#pragma mark - POST上传
- (void)postUpload
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// AFHTTPResponseSerializer就是正常的HTTP请求响应结果:NSData
// 当请求的返回数据不是JSON,XML,PList,UIImage之外,使用AFHTTPResponseSerializer
// 例如返回一个html,text...
// 实际上就是AFN没有对响应数据做任何处理的情况
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
// formData是遵守了AFMultipartFormData的对象
[manager POST:@&http://localhost/demo/upload.php& parameters:nil constructingBodyWithBlock:^(id&AFMultipartFormData& formData) {
// 将本地的文件上传至服务器
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@&头像1.png& withExtension:nil];
[formData appendPartWithFileURL:fileURL name:@&uploadFile& error:NULL];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@&完成 %@&, result);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@&错误 %@&, error.localizedDescription);
#pragma mark - JSON
- (void)XMLData
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// 返回的数据格式是XML
manager.responseSerializer = [AFXMLParserResponseSerializer serializer];
NSDictionary *dict = @{@&format&: @&xml&};
// 网络访问是异步的,回调是主线程的,因此程序员不用管在主线程更新UI的事情
[manager GET:@&http://localhost/videos.php& parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
// 如果结果是XML,同样需要使用6个代理方法解析,或者使用第三方库
// 第三方库第三方框架,效率低,内存泄漏
NSLog(@&%@&, responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@&%@&, error);
#pragma mark - JSON
- (void)JSONData
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// 原本需要拼接get访问URL ? & =
NSDictionary *dict = @{@&format&: @&json&};
// 网络访问是异步的,回调是主线程的,因此程序员不用管在主线程更新UI的事情
[manager GET:@&http://localhost/videos.php& parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@&%@&, responseObject);
// 提问:NSURLConnection异步方法回调,是在子线程
// 得到回调之后,通常更新UI,是在主线程
NSLog(@&%@&, [NSThread currentThread]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@&%@&, error);
#pragma mark - POST登录
- (void)postLogin
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// 原本需要拼接get访问URL ? & =
NSDictionary *dict = @{@&username&: @&wangwu&, @&password& : @&wang&};
// 网络访问是异步的,回调是主线程的,因此程序员不用管在主线程更新UI的事情
[manager POST:@&http://localhost/login.php& parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@&%@&, responseObject);
// 提问:NSURLConnection异步方法回调,是在子线程
// 得到回调之后,通常更新UI,是在主线程
NSLog(@&%@&, [NSThread currentThread]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@&%@&, error);
#pragma mark - GET登录
- (void)getLogin
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// 原本需要拼接get访问URL ? & =
NSDictionary *dict = @{@&username&: @&wangwu&, @&password& : @&wang&};
// 网络访问是异步的,回调是主线程的,因此程序员不用管在主线程更新UI的事情
[manager GET:@&http://localhost/login.php& parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@&%@&, responseObject);
// 提问:NSURLConnection异步方法回调,是在子线程
// 得到回调之后,通常更新UI,是在主线程
NSLog(@&%@&, [NSThread currentThread]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@&%@&, error);
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:125252次
积分:1691
积分:1691
排名:第12261名
原创:52篇
评论:30条
(2)(1)(3)(2)(7)(1)(11)(4)(1)(1)(2)(1)(1)(2)(2)(4)(5)(5)(1)(2)(2)iOS经验1:自己写的网络数据请求 第三方框架 断点续传 上传下载
镔哥哥做项目,一般的数据请求不管他多复杂,只要自己写好了请求,那么调用永远是那么的简单,那么我介绍一下
一:需要用到第三方框架AFNetworking,直接写在工程pch头文件里就行因为经常用到它,这在网上随便就行,最好用cocopod来下载,这样什么都有了,cocopod是什么,我就不说,博客上面有介绍。
1:自定义网络请求DataRequestManager类专门管理网络用的
朋友们以下代码就可以直接复制来用了
DataRequestManager.h
TestKeyBoard
Created by mac on 14-10-21.
Copyright (c) 2014年 mac. All rights reserved.
DataRequestManagerDelegate
//通过代理传值到需要的地方
- (void)passValue:(id)
- (void)passGetValue:(id)getV
@interface DataRequestManager :
AFHTTPRequestOperationManager *
//创建请求(iOS 6-7)
AFURLSessionManager *sessionM
//创建请求(iOS7专用)
AFHTTPRequestOperation *
//创建请求管理(用于上传和下载)
@property (nonatomic,
assign) id
//GET请求调用方法
- (void)methodGetWithURL:(NSString *)urlS
//POST请求调用方法
- (void)methodPostWithURL:(NSString *)urlString parameters:(NSDictionary *)
//上传图片
- (void)methodUploadWithURL:(NSString *)urlString parameters:(NSDictionary *)parameters image:(UIImage *)
DataRequestManager.m
TestKeyBoard
Created by mac on 14-10-21.
Copyright (c) 2014年 mac. All rights reserved.
#import "DataRequestManager.h"
#import "AFNetworking.h"
@implementation DataRequestManager
- (void)methodGetWithURL:(NSString *)urlString
//致空请求
if (manager) {
//创建请求
manager = [AFHTTPRequestOperationManager
//设置请求的解析器为AFHTTPResponseSerializer(用于直接解析数据NSData),默认为AFJSONResponseSerializer(用于解析JSON)
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//发送GET请求
[manager GET:urlString
parameters:nil
success:^(AFHTTPRequestOperation *operation,
id responseObject) {
//请求成功(当解析器为AFJSONResponseSerializer时)
NSLog(@"getSuccess: %@", responseObject);
[self.delegate
passGetValue:responseObject];
//请求成功(当解析器为AFHTTPResponseSerializer时)
NSString *JSONString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"success:%@", JSONString);
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
//请求失败
NSLog(@"Error: %@", error);
#pragma mark - POST Request (iOS 6-7)
//POST请求
- (void)methodPostWithURL:(NSString *)urlString parameters:(NSDictionary *)parameters
//致空请求
if (manager) {
//添加参数
//创建请求
manager = [AFHTTPRequestOperationManager
//设置请求的解析器为AFHTTPResponseSerializer(用于直接解析数据NSData),默认为AFJSONResponseSerializer(用于解析JSON)
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//发送POST请求
[manager POST:urlString
parameters:parameters
success:^(AFHTTPRequestOperation *operation,
id responseObject) {
//请求成功(当解析器为AFJSONResponseSerializer时)
NSLog(@"Success: %@", responseObject);
[self.delegate
passValue:responseObject];
//请求成功(当解析器为AFHTTPResponseSerializer时)
NSString *JSONString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"success:%@", JSONString);
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
//请求失败
NSLog(@"Error: %@", error);
#pragma mark - Upload Request (iOS 6-7)
//上传(以表单方式上传,以图片为例)
- (void)methodUploadWithURL:(NSString *)urlString parameters:(NSDictionary *)parameters image:(UIImage *)image
//致空请求
if (manager) {
//添加参数
//创建请求
manager = [AFHTTPRequestOperationManager
//设置请求的解析器为AFHTTPResponseSerializer(用于直接解析数据NSData),默认为AFJSONResponseSerializer(用于解析JSON)
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//发送POST请求,添加需要发送的文件,此处为图片
[manager POST:urlString
parameters:parameters
constructingBodyWithBlock:^(id formData) {
//添加图片,并对其进行压缩(0.0为最大压缩率,1.0为最小压缩率)
NSData *imageData =
UIImageJPEGRepresentation(image, 1.0);
NSDateFormatter *formatter = [[NSDateFormatter
设置时间格式
formatter.dateFormat =
@"yyyyMMddHHmmss";
NSString *str = [formatter
stringFromDate:[NSDate
NSString *fileName = [NSString
stringWithFormat:@"%@.png", str];
//添加要上传的文件,此处为图片
[formData appendPartWithFileData:imageData
name:@"uploadFile"
fileName:fileName
mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation,
id responseObject) {
//请求成功(当解析器为AFJSONResponseSerializer时)
NSLog(@"Success: %@", responseObject);
[self.delegate
passValue:responseObject];
//请求成功(当解析器为AFHTTPResponseSerializer时)
NSString *JSONString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"success:%@", JSONString);
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
//请求失败
NSLog(@"Error: %@", error);
#pragma mark - Download Request (iOS 6-7)
- (void)methodDownload
//下载进度条
UIProgressView
*downProgressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
downProgressView.center = CGPointMake(self.view.center.x, 220);
downProgressView.progress = 0;
downProgressView.progressTintColor = [UIColor blueColor];
downProgressView.trackTintColor = [UIColor grayColor];
[self.view addSubview:downProgressView];
//设置存放文件的位置(此Demo把文件保存在iPhone沙盒中的Documents文件夹中。关于如何获取文件路径,请自行搜索相关资料)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *cachesDirectory = [paths objectAtIndex:0];
NSString *filePath = [cachesDirectory stringByAppendingPathComponent:@"文件名"];
NSString *filePath = [NSString stringWithFormat:@"%@/Documents/文件名(注意后缀名)", NSHomeDirectory()];
//打印文件保存的路径
NSLog(@"%@",filePath);
//创建请求管理
operation = [[AFHTTPRequestOperation alloc] initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"下载地址"]]];
//添加下载请求(获取服务器的输出流)
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO];
//设置下载进度条
[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
//显示下载进度
CGFloat progress = ((float)totalBytesRead) / totalBytesExpectedToR
[downProgressView setProgress:progress animated:YES];
//请求管理判断请求结果
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//请求成功
NSLog(@"Finish and Download to: %@", filePath);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//请求失败
NSLog(@"Error: %@",error);
#pragma mark - Download Management (iOS 6-7)
//开始下载(断点续传)
- (void)downloadStart
methodDownload];
[operation
//暂停下载(断点续传)
- (void)downloadPause
[operation
//继续下载(断点续传)
- (void)downloadResume
[operation
#pragma mark - Upload Request (iOS 7 only)
//上传(iOS7专用)
- (void)methodUploadFor7
//致空请求
if (sessionManager) {
sessionManager =
//创建请求(iOS7专用)
sessionManager = [[AFURLSessionManager
initWithSessionConfiguration:[NSURLSessionConfiguration
defaultSessionConfiguration]];
//添加请求接口
NSURLRequest *request = [NSURLRequest
requestWithURL:[NSURL
URLWithString:@"上传地址"]];
//添加上传的文件
NSURL *filePath = [NSURL
fileURLWithPath:@"本地文件地址"];
//发送上传请求
NSURLSessionUploadTask *uploadTask = [sessionManager
uploadTaskWithRequest:request
fromFile:filePath progress:nil
completionHandler:^(NSURLResponse *response,
id responseObject,
NSError *error) {
if (error) {
//请求失败
NSLog(@"Error: %@", error);
//请求成功
NSLog(@"Success: %@ %@", response, responseObject);
//开始上传
[uploadTask resume];
#pragma mark - Download Request (iOS 7 only)
//下载(iOS7专用)
- (void)methodDownloadFor7
//致空请求
if (sessionManager) {
sessionManager =
//创建请求(iOS7专用)
sessionManager = [[AFURLSessionManager
initWithSessionConfiguration:[NSURLSessionConfiguration
defaultSessionConfiguration]];
//添加请求接口
NSURLRequest *request = [NSURLRequest
requestWithURL:[NSURL
URLWithString:@"下载地址"]];
//发送下载请求
NSURLSessionDownloadTask *downloadTask = [sessionManager
downloadTaskWithRequest:request
progress:nil
destination:^NSURL *(NSURL *targetPath,
NSURLResponse *response) {
//设置存放文件的位置(此Demo把文件保存在iPhone沙盒中的Documents文件夹中。关于如何获取文件路径,请自行搜索相关资料)
NSURL *filePath = [NSURL
fileURLWithPath:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES)
firstObject]];
return [filePath
URLByAppendingPathComponent:[response suggestedFilename]];
} completionHandler:^(NSURLResponse *response,
NSURL *filePath, NSError *error) {
//下载完成
NSLog(@"Finish and Download to: %@", filePath);
//开始下载
[downloadTask resume];
工程完美,自己复制可用
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。

我要回帖

更多关于 afnetworking教程 的文章

 

随机推荐