10

バックエンド API と通信するために、アプリを ASIHTTPRequest から AFNetworking に移行しています。画像のアップロード以外はすべて正常に動作しているようです。インターネットでさまざまな例を使用しましたが、アプリで実行すると常にクラッシュします。

2013-02-22 17:02:28.680 MyApp[1477:907] *** Assertion failure in -[AFStreamingMultipartFormData appendPartWithHeaders:body:], AFNetworking/AFHTTPClient.m:885
2013-02-22 17:02:28.687 MyApp[1477:907] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: body'

問題はここにあるようです:

NSMutableURLRequest *request = [[MyServiceAPIClient sharedClient] multipartFormRequestWithMethod:@"POST" path:@"/api/method" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
    [formData appendPartWithFileData:imageData name:@"face" fileName:@"face.jpg" mimeType:@"image/jpeg"];
}];

MyServiceAPIClientAFNetworking iOS サンプル アプリで指定されているシングルトン クラスです。

すべてが正常に動作する部分にコメントするappendPartWithFileDataと、明らかに私の写真は送信されません。

マルチパート フォーム リクエストを通常のポスト リクエストに置き換えると、機能します。NSData唯一の問題は、フォームにmy を追加することです。

観察結果はありますか?ありがとう。

4

2 に答える 2

18

コードを調べた後AFNetworking/AFHTTPClient.m、私の推測では、あなたimageDatanilです。

于 2013-02-22T20:32:47.987 に答える
2

追加するために、スルタンの答えは正しいですが、通常、nil値を持つパラメーターを に挿入すると、このエラーメッセージを取得できますformData

于 2013-09-05T07:38:51.697 に答える