0

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];
4

1 に答える 1

0

あなたのプロジェクトを分析すると、おそらくブロック変数に関する問題がいくつか発生するでしょう。

于 2013-03-07T02:04:58.373 に答える