afnetwork数据请求


#进口<基金会/ Foundation.h>

#进口“AFNetworking.h”

#进口“的UIImageView + WebCache.h”

@protocol NetRequestAccessDelegate < NSObject的>

- (无效)downLoadFinishWith :( 放入NSDictionary *)字典;

- (无效)downLoadFailed;

@结束

@interface NetRequestAccess:NSObject的 

@属性  (非原子ID < NetRequestAccessDelegate >委托;

+(NetRequestAccess *)sharedNetRequestAccess;

// 停止下载

- (无效)stopLoadModel;

// 数据上传

- (无效)postUpLoadModel :( 的NSString *)数据urlString :( 的NSString *)urlString;

// 数据下载

- (无效)getDownLoadModel :( 的NSString *)urlString;

// 图片上传

- (无效)imagePostUpLoad :( NSData的*)imgData AndData :( 放入NSDictionary *)数据UrlString :( 的NSString *)网址;

// 多图上传

- (无效)imagePostUpLoad :( NSArray的*)imgDataArr AndData :( 放入NSDictionary *)数据urlString :( 的NSString *)网址;

@结束


#进口“NetRequestAccess.h”

@implementation NetRequestAccess

@synthesize 委托= _delegate ;

静态 NetRequestAccess * _sharedNetRequestAccess;

+(NetRequestAccess *)sharedNetRequestAccess {

    如果(!_sharedNetRequestAccess ){

        _sharedNetRequestAccess = [[ NetRequestAccessALLOC ] INIT ]

    }

    返回_sharedNetRequestAccess ;

}

- (无效){stopLoadModel

    AFHTTPRequestOperationManager *经理= [ AFHTTPRequestOperationManager经理]

    [经理。operationQueuecancelAllOperations ];

}

- (无效)getDownLoadModel :( 的NSString *)urlString {

    [ 自我stopLoadModel ];

    NSURL * URL = [ NSURLURLWithString :[urlString stringByAddingPercentEscapesUsingEncoding NSUTF8StringEncoding ]];

    的NSURLRequest *请求= [ 的NSURLRequestrequestWithURL :URL];

    AFHTTPRequestOperation *操作= [[ AFHTTPRequestOperationALLOC ] initWithRequest :请求];

    [操作setCompletionBlockWithSuccess :^(AFHTTPRequestOperation *操作,ID responseObject){

        的NSString * HTML =操作。responseString ;

        的NSData *数据= [HTML dataUsingEncoding NSUTF8StringEncoding ];

        NSError *误差= ;

        ID 字典= [ NSJSONSerializationJSONObjectWithData :数据选项NSJSONReadingMutableContainers错误:错误]        

        的NSLog(@“ 获取的数据-----%@”,字典);

        [ _delegatedownLoadFinishWith :字典]

    } 失败:^(AFHTTPRequestOperation *操作,NSError *错误){

        [ _delegatedownLoadFailed ];

          的NSLog @“ 失败:----%@” ,错误);

    }];

    NSOperationQueue *队列= [[ NSOperationQueueALLOC ] INIT ]

    [队列addOperation :操作]。

}


- (无效)postUpLoadModel :( 的NSString *)数据urlString :( 的NSString *)urlString {

    NSURL * URL = [ NSURLURLWithString :[urlString stringByAddingPercentEscapesUsingEncoding NSUTF8StringEncoding ]];

    NSMutableURLRequest   *请求= [[ NSMutableURLRequestALLOC ] initWithURL :URL];

    [要求setHTTPMethod @“POST” ];

    NSData的* XMLDATA = [数据dataUsingEncoding NSUTF8StringEncoding ];

    [要求setHTTPBody :XMLDATA];

    

    AFHTTPRequestOperation *操作= [[ AFHTTPRequestOperationALLOC ] initWithRequest :请求];

    [操作setCompletionBlockWithSuccess :^(AFHTTPRequestOperation *操作,ID responseObject){

        的NSString * HTML =操作。responseString ;

        的NSData *数据= [HTML dataUsingEncoding NSUTF8StringEncoding ];

        NSError *误差= ;

        ID 字典= [ NSJSONSerializationJSONObjectWithData :数据选项NSJSONReadingMutableContainers错误:错误]

        的NSLog(@“ 成功---%@“,字典);

        [ _delegatedownLoadFinishWith :字典]

    } 失败:^(AFHTTPRequestOperation *操作,NSError *错误){

        [ _delegatedownLoadFailed ];

        的NSLog @“ 失败:----%@” ,错误);

    }];

    [操作开始]。

}

- (无效)imagePostUpLoad :( NSData的*)imgData AndData :( 放入NSDictionary *)数据UrlString :( 的NSString *)网址{

    NSMutableURLRequest *请求= [[ AFHTTPRequestSerializer串行] multipartFormRequestWithMethod @“POST”URLString :URL 参数:数据constructingBodyWithBlock :^(ID < AFMultipartFormData > FORMDATA){

        NSDateFormatter *格式化= [[ NSDateFormatterALLOC ] INIT ]

        。格式DATEFORMAT = @“YYYYMMDDHHMMSS” ;

        的NSString *海峡= [格式化stringFromDate :[ NSDate的日期]];

        的NSString *文件名​​= [ 的NSStringstringWithFormat @“%@ JPG” ,STR]

    // 上传图片,以文件流的格式

        [FORMDATA appendPartWithFileData :imgData @“阿凡达”文件名​​:文件名​​mime类型@“图像/ PNG” ];

    } 错误]

    

    AFHTTPRequestOperation * OPER = [[ AFHTTPRequestOperationALLOC ] initWithRequest :请求];

    [OPER setCompletionBlockWithSuccess :^(AFHTTPRequestOperation *操作,ID responseObject){

        的NSString * HTML =操作。responseString ;

        的NSData *数据= [HTML dataUsingEncoding NSUTF8StringEncoding ];

        ID 字典= [ NSJSONSerializationJSONObjectWithData :数据选项0错误]

        的NSLog @“ 成功:%@” ,字典);

        [ _delegatedownLoadFinishWith :字典]

    } 失败:^(AFHTTPRequestOperation *操作,NSError *错误){

        的NSLog @“ 失败-----%@” ,错误);

        [ _delegatedownLoadFailed ];

    }];

    [OPER 开始]。

}

- (无效)imagePostUpLoad :( NSArray的*)imgDataArr AndData :( 放入NSDictionary *)数据urlString :( 的NSString *)网址

{

    NSMutableURLRequest *请求= [[ AFHTTPRequestSerializer串行] multipartFormRequestWithMethod @“POST”URLString :URL 参数:数据constructingBodyWithBlock :^(ID < AFMultipartFormData > FORMDATA){

        

        对于NSInteger的I = 0 ;我<imgDataArr。算上,我++){

            NSData的*为imageData = [imgDataArr objectAtIndex :i];

            NSDateFormatter *格式化= [[ NSDateFormatterALLOC ] INIT ]

            。格式DATEFORMAT = @“YYYYMMDDHHMMSS” ;

            的NSString *海峡= [格式化stringFromDate :[ NSDate的日期]];

            的NSString *文件名​​= [ 的NSStringstringWithFormat @“%@ PNG” ,STR]

             // 上传图片,以文件流的格式

            [FORMDATA appendPartWithFileData :为imageData @“阿凡达”文件名​​:文件名​​mime类型@“图像/ PNG” ];

        }

    } 错误]

    AFHTTPRequestOperation * OPER = [[ AFHTTPRequestOperationALLOC ] initWithRequest :请求];

    [OPER setCompletionBlockWithSuccess :^(AFHTTPRequestOperation *操作,ID responseObject){

        的NSString * HTML =操作。responseString ;

        的NSData *数据= [HTML dataUsingEncoding NSUTF8StringEncoding ];

        ID 字典= [ NSJSONSerializationJSONObjectWithData :数据选项0错误]

        的NSLog @“ 成功:%@” ,字典);

        [ _delegatedownLoadFinishWith :字典]

    } 失败:^(AFHTTPRequestOperation *操作,NSError *错误){

        的NSLog @“ 失败-----%@” ,错误);

        [ _delegatedownLoadFailed ];

    }];

    [OPER 开始]。

}


@结束



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值