• 网络婚礼之AFNetWorking3.0


    目前使用人数最多的第三方网络库,没有之一。从开始的NSURLConnection到现在的NSURLSession,它都一直保持着与苹果的步调一致,而由它也衍生出大量的相关第三方网络功能库,不仅仅因为他的可靠,好用,一直保持着维护更新,也是为什么它这么受到广大程序员的青睐。

    接下来我们来看几个demo

     1 //
     2 //  ViewController.m
     3 //   AFNetworking3.0简介
     4 //
     5 
     6 
     7 #import "ViewController.h"
     8 #import "AFNetworking.h"
     9 @interface ViewController ()
    10 
    11 @end
    12 
    13 @implementation ViewController
    14 
    15 - (void)viewDidLoad {
    16     [super viewDidLoad];
    17     
    18     [self upLoadData];
    19     
    20 }
    21 //上传data
    22 -(void)upLoadData{
    23     
    24     UIImage * image = [UIImage imageNamed:@"renminbi.jpg"];
    25     
    26     NSData * data = UIImageJPEGRepresentation(image, 1);
    27     
    28     AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
    29     /*
    30      POST 上传地址
    31      parameters 文本参数
    32      constructingBodyWithBlock 上传文件的block,有可能多次调用
    33      progress 上传进度
    34      success 上传成功
    35      failure 上传失败
    36      */
    37     [manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    38         
    39         /*
    40          
    41          formData 上传的数据
    42          
    43          FileData  上传文件的data
    44          
    45          name 上传文件的key
    46          
    47          fileName 服务器上的名字
    48          
    49          mimeType 上传资源的类型
    50          
    51          */
    52 
    53         [formData appendPartWithFileData:data name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg"];
    54         
    55     } progress:^(NSProgress * _Nonnull uploadProgress) {
    56         
    57         NSLog(@"%@",uploadProgress);
    58         
    59         
    60     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    61         
    62         NSLog(@"成功->%@",responseObject);
    63         
    64     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    65        
    66         NSLog(@"失败->%@",error);
    67         
    68     }];
    69     
    70 }
    71 
    72 @end
     1 //上传文件
     2     AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
     3     
     4     /*
     5      POST 上传地址
     6      parameters 文本参数
     7      constructingBodyWithBlock 上传文件的block,有可能多次调用
     8      progress 上传进度
     9      success 上传成功
    10      failure 上传失败
    11      */
    12     [manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    13         
    14         
    15         
    16         /*
    17          
    18          formData 上传的数据
    19          
    20          FileData  上传文件的data
    21          
    22          name 上传文件的key
    23          
    24          fileName 服务器上的名字
    25          
    26          mimeType 上传资源的类型
    27          
    28          */
    29         
    30         NSURL * url = [[NSBundle mainBundle] URLForResource:@"renminbi.jpg" withExtension:nil];
    31         
    32         [formData appendPartWithFileURL:url name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg" error:nil];
    33         
    34     } progress:^(NSProgress * _Nonnull uploadProgress) {
    35         
    36         NSLog(@"%@",uploadProgress);
    37         
    38         
    39     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    40         
    41         NSLog(@"成功->%@",responseObject);
    42         
    43     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    44         
    45         NSLog(@"失败->%@",error);
    46         
    47     }];
    1 AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
    2 
    3     [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
    4         
    5     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    6         
    7     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    8         
    9     }];
    GET
    AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
    
        [manager POST:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
            
        } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            
        }];
    POST
     1 AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
     2 
     3     manager.requestSerializer = [AFHTTPRequestSerializer serializer];
     4     
     5     manager.responseSerializer = [AFXMLParserResponseSerializer serializer];
     6     
     7     [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
     8         
     9     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    10         
    11     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    12         
    13     }];
    GETXML
  • 相关阅读:
    "use strict"详解
    HTML5 文件上传
    jquery $(document).ready() 与window.onload的区别
    前端面试题——错题集
    css-子div设置margin-top影响父div
    常见的dom操作----原生JavaScript与jQuery
    前端面试题——错题集
    JavaScript正则表达式知识点
    越权漏洞
    php反系列化原理和演示
  • 原文地址:https://www.cnblogs.com/iOSlearner/p/5381419.html
Copyright © 2020-2023  润新知