0

これは、ファイルをアップロードするための私の POST 要求です。実際に送信する前に、サーバーに送信している JSON を NSLog に記録するにはどうすればよいですか?

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:twitid forKey:@"twit"];
[dict setObject:hash forKey:@"hash"];

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
if ([mediaFile isKindOfClass:[UIImage class]])
{
   imageData = UIImageJPEGRepresentation(mediaFile, 0.5); 
}

NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:nil parameters:dict constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {

if ([mediaFile isKindOfClass:[UIImage class]])
        {
          [formData appendPartWithFileData:imageData name:@"media" fileName:@"picture.png" mimeType:@"image/png"];  
        }
    else if(isThisAudio)
    {
       [formData appendPartWithFileData:mediaFile name:@"media" fileName:@"audio.caf" mimeType:@"audio/caf"];  
    }
    else
    {
        [formData appendPartWithFileData:mediaFile name:@"media" fileName:@"movie.mov" mimeType:@"video/quicktime"];  
    }

}];

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request

success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
    NSDictionary *jsonDictionary = JSON;       
    NSLog(@"jsonDictionary: %@",jsonDictionary);
}
failure:^(NSURLRequest *request , NSURLResponse *response , NSError *error , id JSON)
{
    NSLog(@"Failed: %@",[error localizedDescription]);
}];
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {

    percentDone = ((float)((int)totalBytesWritten) / (float)((int)totalBytesExpectedToWrite)); 
    NSLog(@"Uploaded %f",percentDone);
}];
[httpClient enqueueHTTPRequestOperation:operation];
4

2 に答える 2

0

NSURLRequest-cURLカテゴリを確認してください。

カテゴリを使用すると、次のことが簡単にできます。

NSLog(@"%s %@", __FUNCTION__, [request cURLCommand])
于 2013-07-03T13:30:53.310 に答える
0

良いオプションは、Charles プロキシのようなものを使用して、実際にネットワーク経由で何が送信されているかを監視することです。このようにして、コード フローのある時点での状態ではなく、ネットワーク上で実際に何が起こっているかを確認できます。

于 2013-07-03T13:23:02.660 に答える