AFNetworking之上传图片音乐等文件
AFNetworking可以很方便的上传图片等文件到服务器:
方法如下:
1.导包 ,
<span style="font-size:14px;">#import "AFNetworking.h" 或者 #import <AFNetworking.h>(如果用cocoapod安装的话)</span>
2.创建一个 manager属性:
@property (strong, nonatomic) AFHTTPRequestOperationManager *manager;
3.在viewDidLoad中一定要给manage分配内存,否则 下面的方法不会运行
self.manager=[[AFHTTPRequestOperationManager alloc]init];
4.把图片或者其他文件转为二进制:
mimeType类型有很多,大家可以百度一下!
<span style="font-size:14px;">5.开始请求,<span style="font-family: Arial, Helvetica, sans-serif;">@"http://xuyingtest.sinaapp.com/uploadfile.php" //这是测试地址,可以直接使用</span></span><pre name="code" class="cpp"><span style="font-size:14px;"> </span>
<span style="font-size:14px;"> 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];//开始异步请求</span>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。