2013-10-21 15 views
5

私はiOSプログラミング、特にWebサービスに関してはかなり新しいです。私は学術目的でアプリケーションを開発しています。私は現在、AFNetworking2とRestler/phpを使用している私のサーバと通信する必要があります.GETメソッドに関してはすべて動作します。しかし、私は何もアップロードすることはできません。 、AFNetworking AFHTTPClientクラス

AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://server"]]; 

私はクライアントのクラスを持っています。この行を使用

は、画像をアップロードするために、githubのサポートサイト、stackoverflowのでは、時間のほとんどすべての例/質問を読んでい(とたくさんあります) AFHTTPSessionManagerのサブクラスで、sharedClientを使用します。しかし、すべての例では、このAFHTTPClientをinitWithURLおよびAFJSONRequestOperationのような他のクラスで使用しています。

ほとんどの場合、私はAFHTTPClientのサブクラスを作成する必要がありますが、どこでも見つけることはできません。いくつかのリンクは私を公式のgithubリポジトリに送りますが、もう利用できません。 私の質問は、AFHTTPClientの詳しい情報を入手するにはどうすればいいですか、どのように作成するか、少なくともその機能を理解するチュートリアルを教えてください。

乾杯

+0

進捗状況を把握する必要がありますか? – Bot

+0

いいえ、実際はありません。アップロードが成功した後、ちょっとしたフィードバックが必要です。 –

答えて

23

を助けAFHTTPRequestOperationManager/AFHTTPSessionManagerに置き換えられました。 example in git by themを参照することをお勧めします。 Gitクローンを開き、Xcodeで開きます。それはあなたを助けるはずです。これには最新の例があります。

AFHTTPClient、つまり1.xコードを使用する場合は、ここにはgit link to the branchがあります。それにポッド仕様は2.0 AFNetworkingでは「〜> 1.3.3」、

「をAFNetworking」

ポッドだろう、あなたはこのようなシングルトンクライアントを作成することができます。

インタフェース

@interface AFAppDotNetAPIClient : AFHTTPSessionManager 

+ (instancetype)sharedClient; 

@end 

実装ここ

#import "AFAppDotNetAPIClient.h" 

static NSString * const AFAppDotNetAPIBaseURLString = @"https://alpha-api.app.net/"; 

@implementation AFAppDotNetAPIClient 

+ (instancetype)sharedClient { 
    static AFAppDotNetAPIClient *_sharedClient = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
     _sharedClient = [[AFAppDotNetAPIClient alloc] initWithBaseURL:[NSURL URLWithString:AFAppDotNetAPIBaseURLString]]; 
     [_sharedClient setSecurityPolicy:[AFSecurityPolicy policyWithPinningMode:AFSSLPinningModePublicKey]]; 
    }); 

    return _sharedClient; 
} 

@end 
+0

私はその例をチェックしました。非常に役に立ちますが、アップロード方法はありません。あなたの例を使ってアクセスすることができるのは、私がやった部分であり、それは完璧に働いています...私はダウングレードだけが唯一の選択だと思っています。 –

+0

@Brunoこれを確認する[example](http://stackoverflow.com/questions/19261481/ios-image-upload-via-afnetworking-2-0?Answerertab =最古の#tab-top) –

+0

まだサーバー側で画像を取得するのにいくつかの問題がありますが、少なくとも私は何かをアップロードすることができました。 –

2

AFHTTPClient AFNetworking 1.xからクラスである - https://github.com/AFNetworking/AFNetworking/tree/1.x

AFNetworking 2.0はかなり新しいライブラリであるので、それについてはあまりチュートリアルをすることができますまだあなた最初のバージョンは、あなたまで今のところ、そこにはありません)2.xのを学ぶ時間があることを感じるだろう)

希望はAFNetworking 2.0 AFHTTPClientで

+0

ありがとうございました。私はチュートリアルを使用しています...そして、このバージョンではすべて動作しています;) – chemitaxis

2

はAFNetworkingの最新バージョンの変更、ソリューションです。

//sample PNG 
NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"700k_image.png"]); 
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
[manager POST:WEBSERVICE_IMAGEM_UPLOAD parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
      [formData appendPartWithFileData:imageData name:@"image" fileName:@"image_name" mimeType:@"image/png"]; 
      } success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      NSLog(@"Success: %@", responseObject); 
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      NSLog(@"Error: %@", error); 
     }]; 
関連する問題