如何使用AFNetworking上传单张或多张图片到后台服务器?
//1.创建一个名为mgr的请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; //2.上传文字时用到的拼接请求参数(如果只传图片,可不要此段) NSMutableDictionary *params = [NSMutableDictionary dictionary];//创建一个名为params的可变字典 params[@"status"] = self.textView.text;//通过服务器给定的Key上传数据 //3.发送请求 [mgr POST:@"https://upload.api.weibo.com/2/statuses/upload.json" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { //单张图片 UIImage *image = self.photo;//获得一张Image NSData *data = UIImageJPEGRepresentation(image, 1.0);//将UIImage转为NSData,1.0表示不压缩图片质量。 [formData appendPartWithFileData:data name:@"pic" fileName:@"test.jpg" mimeType:@"image/jpeg"]; /* Data: 要上传的二进制数据 name:保存在服务器上时用的Key值 fileName:保存在服务器上时用的文件名,注意要加 .jpg或者.png mimeType:让服务器知道我上传的是哪种类型的文件 */ //多张图片 NSArray *images = self.photos;//获得一组Image for(NSInteger i = 0; i < self.images.count; i++) { // 取出图片 UIImage *image = [images objectAtIndex:i]; // 转成二进制 NSData *imageData = UIImageJPEGRepresentation(image, 1.0); // 上传的参数名 NSString * Name = [NSString stringWithFormat:@"image %ld", i]; // 上传fileName NSString * fileName = [NSString stringWithFormat:@"%@.jpg", Name]; [formData appendPartWithFileData:imageData name:Name fileName:fileName mimeType:@"image/jpeg"]; } } success:^(AFHTTPRequestOperation *operation, id responseObject) {//发送成功会来到这里 NSLog(@"获取用户名称请求成功(图片)"); } failure:^(AFHTTPRequestOperation *operation, NSError *error) {//发送成功会来到这里 NSLog(@"获取用户名称请求失败(图片)——%@",error); }];
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)