现在的位置: 首页 > 综合 > 正文

iOS开发-AFNetworking之上传图片音乐文件

2018年04月08日 ⁄ 综合 ⁄ 共 1131字 ⁄ 字号 评论关闭

AFNetworking可以很方便的上传图片等文件到服务器:

方法如下:

1.导包 ,

#import "AFNetworking.h" 
或者 
#import <AFNetworking.h>(如果用cocoapod安装的话)

2.创建一个 manager属性:

@property (strong, nonatomic) AFHTTPRequestOperationManager *manager;

3.在viewDidLoad中一定要给manage分配内存,否则 下面的方法不会运行

self.manager=[[AFHTTPRequestOperationManager alloc]init];
4.把图片或者其他文件转为二进制:
mimeType类型有很多,大家可以百度一下!

5.开始请求,@"http://xuyingtest.sinaapp.com/uploadfile.php"  //这是测试地址,可以直接使用


     AFHTTPRequestOperation * op = [self.manager POST:@"http://xuyingtest.sinaapp.com/uploadfile.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
                                       {
                                           [formData appendPartWithFileData:upload_imagedata name:@"file" fileName:@"userImage.png" mimeType:@"image/png"];
                                           
                                           
                                           
                                       }
                                                 success:^(AFHTTPRequestOperation *operation, NSData * responseObject)//上传成功
                                       {
                                           NSLog(@"上传图片成功!");
                                           NSError * error;
                                           NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];//json解析得到存储服务器返回的字典
                                           
                                                                                      
                                           NSString * imageURL = dic[@"success"];//解析得到了云存储器的URL
                                           
                                                                                     
                                       } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                       
                                       //连接服务器失败
                                       }];
        
        op.responseSerializer = [AFHTTPResponseSerializer serializer];//AF不解析,使用系统的json解析,效率很高
        [op start];//开始异步请求


抱歉!评论已关闭.