PNG 画像といくつかのパラメーターを Rails サーバーにアップロードしようとしています。http://nsscreencast.com/episodes/31-posting-multi-part-forms-with-afnetworkingからこの例に従います。
私のコードスニペットは以下のとおりです
コードが実行されると、進行状況が 0 から 95..98 パーセントになることがわかります (完了したようには見えません)。Rails コントローラーにヒットすることはありません。iOSアプリもフリーズします...なぜアプリがフリーズするのですか?私は何を間違っていますか?コメントや意見は大歓迎です。
NSData *imageData = UIImagePNGRepresentation(image);
NSDictionary *params = @{
@"latte[location]" : @"value1",
@"latte[submitted_by]" : @"value2",
@"latte[comments]" : @"value3"
};
NSURLRequest *putRequest = [[MApiClient sharedInstance] multipartFormRequestWithMethod:@"PUT"
path:@"somepath.json"
parameters:params
constructingBodyWithBlock:^(id formData) {
[formData appendPartWithFileData:imageData
name:@"latte[photo]"
fileName:@"latte.png"
mimeType:@"image/png"];
}];
AFHTTPRequestOperation *operation = [[AFJSONRequestOperation alloc] initWithRequest:putRequest];
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
NSLog(@"%f", (totalBytesWritten / (float) totalBytesExpectedToWrite));
}];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
if (operation.response.statusCode == 200 || operation.response.statusCode == 201) {
NSLog(@"whats here, %@", responseObject);
} else {
NSLog(@"whats here, %@", responseObject);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"whats here, %@", error);
}];
[[MyApiClient sharedInstance] enqueueHTTPRequestOperation:operation];