AFNetworking(get)请求数据,(post)上传图片

-(void)testGet:(UIButton*)b

{

    /* Request操作管理器单例得使用 */

    AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManagermanager];

    //设置返回值类型,默认类型为Json

    manager.responseSerializer= [AFJSONResponseSerializerserializerWithReadingOptions:NSJSONReadingAllowFragments];

    /** 开始请求数据,  GET,请求URL parameters,请求参数 ,返回值, AFHTTPRequestOperation,请求操作对象  */

    AFHTTPRequestOperation * o1 = [managerGET:@"https://api.weibo.com/2/statuses/public_timeline.json"parameters:@{@"access_token":@"2.00evHF2Cm9O2FC6cabf489d8zODP6E",@"count":@200}success:^(AFHTTPRequestOperation *operation,id responseObject) {

        NSLog(@"%@",responseObject);

    } failure:^(AFHTTPRequestOperation *operation,NSError *error) {

        

    }];

    //设置请求出错时的警告框

    [UIAlertViewshowAlertViewForRequestOperationWithErrorOnCompletion:o1

                                                              delegate:self];

    //o1操作单独设置状态栏中的小菊花

    //    [[[UIActivityIndicatorView alloc]init]setAnimatingWithStateOfOperation:o1];

    /** 为所有AFNetWorking发送的请求设置小菊花. */

    [[AFNetworkActivityIndicatorManagersharedManager]setEnabled:YES];

    [o1 setDownloadProgressBlock:^(NSUInteger bytesRead,long long totalBytesRead, long long totalBytesExpectedToRead) {

        //bytesRead,上次读取的数据  //totalBytesRead,目前为止总共读取的数据 //totalBytesExpectedToRead,预测的文件大小

    }];

    /**  设置下载进度条 */

    UIProgressView * progressV1 = [[UIProgressViewalloc]initWithProgressViewStyle:UIProgressViewStyleBar];

    [progressV1 setFrame:CGRectMake(0,80, 320, 30)];

    [self.view addSubview:progressV1];

    //o1操作的进度交由progressV展示

    [progressV1 setProgressWithDownloadProgressOfOperation:o1animated:YES];


-(void)testPost:(UIButton*)b

{

    /*文件上传示例 */

    //设置接收响应类型为标准HTTP类型(默认为响应类型为JSON)

    AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManagermanager];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

    AFHTTPRequestOperation  * o2= [manager POST:@"http://wunantest.sinaapp.com/filetest.php" parameters:nil                                  constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

        

        NSData * data=UIImagePNGRepresentation([UIImageimageNamed:@"icon.png"]);

        //将得到的二进制图片拼接到表单中 /** data,指定上传的二进制流;name,服务器端所需参数名;fileName,指定文件名;mimeType,指定文件格式 */

        [formData appendPartWithFileData:dataname:@"file"fileName:@"111icon.png"mimeType:@"image/png"];

                                       //多用途互联网邮件扩展(MIMEMultipurpose Internet Mail Extensions

     }success:^(AFHTTPRequestOperation *operation,id responseObject){

        NSLog(@"%@",[[NSStringalloc]initWithData:responseObjectencoding:NSUTF8StringEncoding]);

     }failure:^(AFHTTPRequestOperation *operation,NSError *error) {

                                       

     }];

    //设置上传操作的进度

    [o2 setUploadProgressBlock:^(NSUInteger bytesWritten,long long totalBytesWritten, long long totalBytesExpectedToWrite) {

        

    }];

    UIProgressView * progressV2 = [[UIProgressViewalloc]initWithProgressViewStyle:UIProgressViewStyleDefault];

    [progressV2 setProgressWithUploadProgressOfOperation:o2animated:YES];

    [progressV2 setFrame:CGRectMake(0,130, 320, 30)];

    [self.view addSubview:progressV2];

}

demo:http://share.weiyun.com/b448045e8d135891f3b092dcb47bc45d

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值