图片上传:http://inveera.biz/lowkall_api/index.php/img参数是:id,name,file(With Afnetworking)

时间:2015-12-16 05:02:12

标签: ios afnetworking

NSString *strurl = [NSString stringWithFormat:@"http://inveera.biz/lowkall_api/index.php/img"];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
// NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=----------V2ymHFg03ehbqgZCaKO6jy"];
//[request setValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
[parameters setValue:[NSNumber numberWithInteger:[self.loginId integerValue]] forKey:@"id"];
[parameters setValue:[NSNumber numberWithInteger:[[[NSUserDefaults standardUserDefaults] objectForKey:@"loginId"] integerValue]] forKey:@"id"];
[parameters setValue:selling.text forKey:@"name"];
[parameters setValue:@"image.jpg" forKey:@"file"];
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
[manager POST:strurl parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
     NSDictionary*    data1 = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
     NSLog(@"JSON: %@", data1);
        //[Utils stopActivityIndicatorInView:self.view];
     UIAlertView *alrt=[[UIAlertView alloc]initWithTitle:@"Congratulation" message:@"User Registered Successfully" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
        [alrt show];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
     NSLog(@"Error: %@", [error localizedDescription]);
     //[Utils stopActivityIndicatorInView:self.view];
     UIAlertView *alrt=[[UIAlertView alloc]initWithTitle:@"Error" message:error.localizedDescription delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
     [alrt show];

}];

1 个答案:

答案 0 :(得分:0)

NSString *strurl = [NSString stringWithFormat:@"http://inveera.biz/lowkall_api/index.php/img"];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];

NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
[parameters setValue:[NSNumber numberWithInteger:[self.loginId integerValue]] forKey:@"id"];
[parameters setValue:[NSNumber numberWithInteger:[[[NSUserDefaults standardUserDefaults] objectForKey:@"loginId"] integerValue]] forKey:@"id"];
[parameters setValue:selling.text forKey:@"name"];

manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
[manager POST:strurl parameters:parameters  constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
 {
     NSData *imageData = UIImageJPEGRepresentation(YOUR_IMAGE_HERE, 0.5); // put your UIImage

     [formData appendPartWithFileData:imageData name:@"file" fileName:@"photo.jpg" mimeType:@"image/jpeg"];
 }
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
    NSDictionary*    data1 = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
    NSLog(@"JSON: %@", data1);
    //[Utils stopActivityIndicatorInView:self.view];
    UIAlertView *alrt=[[UIAlertView alloc]initWithTitle:@"Congratulation" message:@"User Registered Successfully" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
    [alrt show];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
    NSLog(@"Error: %@", [error localizedDescription]);
    //[Utils stopActivityIndicatorInView:self.view];
    UIAlertView *alrt=[[UIAlertView alloc]initWithTitle:@"Error" message:error.localizedDescription delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
    [alrt show];

}];

我已经为图片上传添加了块,您无法通过字典直接上传图片。

请试试这个。希望这有帮助

我在运行代码

时得到了这个回应
{
    "p_id" = 69;
    status = true;
}