afnetwork数据请求

来源:互联网 发布:pw域名不用备案吗 编辑:程序博客网 时间:2024/06/05 13:53


#进口<基金会/ 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 stringByAddingPercentEscapesUsingEncodingNSUTF8StringEncoding ]];

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

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

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

        的NSString * HTML =操作。responseString ;

        的NSData *数据= [HTMLdataUsingEncoding NSUTF8StringEncoding];

        NSError *误差=;

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

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

        [ _delegatedownLoadFinishWith:字典]

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

        [ _delegatedownLoadFailed];

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

    }];

    NSOperationQueue *队列= [[ NSOperationQueueALLOC] INIT ]

    [队列addOperation :操作]。

}


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

    NSURL * URL = [NSURLURLWithString:[urlString stringByAddingPercentEscapesUsingEncodingNSUTF8StringEncoding ]];

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

    [要求setHTTPMethod @“POST” ];

    NSData的* XMLDATA = [数据dataUsingEncodingNSUTF8StringEncoding ];

    [要求setHTTPBody :XMLDATA];

    

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

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

        的NSString * HTML =操作。responseString ;

        的NSData *数据= [HTMLdataUsingEncoding 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 *数据= [HTMLdataUsingEncoding 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 = [imgDataArrobjectAtIndex :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 *数据= [HTMLdataUsingEncoding NSUTF8StringEncoding];

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

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

        [ _delegatedownLoadFinishWith:字典]

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

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

        [ _delegatedownLoadFailed];

    }];

    [OPER 开始]。

}


@结束



0 0
原创粉丝点击