2013-10-09 12 views
6

Tôi đã tìm các ví dụ về AFNetworking 2.0 mới để tải lên hình ảnh. Nhưng tôi đánh vào tường và không thể tìm ra điều gì sai với mã. Vì vậy, đây là mã tôi đã sử dụngiOS Tải lên hình ảnh qua AFNetworking 2.0

NSData *imageData = UIImageJPEGRepresentation(image, 0.5); 
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; 


AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; 

NSURL *URL = [NSURL URLWithString:@"http://myserverurl.com"]; 

NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromData:imageData progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { 
    if (error) { 
     NSLog(@"Error: %@", error); 
    } else { 
     NSLog(@"Success: %@ %@", response, responseObject); 
    } 
}]; 
[uploadTask resume]; 

TIA

+0

Bằng cách nào thực hiện điều này không làm việc? bạn đang nhận được một lỗi? –

Trả lời

34

tôi đã kết thúc bằng cách sử dụng yêu cầu đa phần

UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; 
NSData *imageData = UIImageJPEGRepresentation(image, 0.5); 
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
NSDictionary *parameters = @{@"foo": @"bar"}; 
[manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    [formData appendPartWithFormData:imageData name:@"image"]; 
} success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"Success: %@", responseObject); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 
+3

'appendPartWithFileData: imageData name: @" image "error: nil]' không hoạt động nữa, tôi đoán vậy. Bạn nên sử dụng: '[formData appendPartWithFormData: imageData name: @" image "];' ... nhưng nó vẫn không hoạt động với tôi:/ – raistlin

+4

và tại sao bạn thậm chí còn bận tâm với fileURl nếu bạn không sử dụng nó sau ? – raistlin

+2

@raistlin 'appendPartWithFileData' cũng làm việc cho tôi. xem http://stackoverflow.com/a/20190352/1933185 – jerik

Các vấn đề liên quan