でファイルをアップロードするのも難しさを感じますNSURLConnection
。最後に、AFNetworking
ライブラリを使用します。それは非常にうまく機能します。
NSURL *url = [NSURL URLWithString:@"http://api-base-url.com"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}];
AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:request] autorelease];
[operation start];
ライブラリのページは以下のアドレスにあります。
https://github.com/AFNetworking/AFNetworking
また、objective-C のライブラリを管理する CocoaPods があります。私はそれを使用しようとしています。
https://github.com/CocoaPods/CocoaPods/