ファイル解析のためにエコーネストを送信しようとしています。 POSTメソッドは他のメソッドと違いはありません。私はそれがエコーに依存しないと信じています。AFNetworking POSTファイルが失敗する(echonest?)
ここにはドキュメントがあります。私は "アップロード"の部分が必要です。
http://developer.echonest.com/docs/v4/track.html
NSURLRequest *request = [self multipartFormRequestWithMethod:@"POST" path:[NSString stringWithFormat:@"track/upload", self.apiKey] parameters:dictionary constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:data name:@"track" fileName:[path lastPathComponent] mimeType:@"multipart/form-data"];
}];
AFURLConnectionOperation *operation = [self HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"done");
NSLog(@"response: %@", operation.responseString);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error: %@", error.description);
NSLog(@"response: %@", operation.responseString);
NSLog(@"headers: %@", operation.request.allHTTPHeaderFields.description);
NSLog(@"operation url: %@", operation.request.URL.absoluteString);
}];
しかし、私は問題を抱えています。ここに私の応答があります:
{"response": {"status": {"version": "4.2", "code": 4, "message": "track - Missing Parameter: track or url is required with a POST content-type of \"application/x-www-form-urlencoded\" or \"multipart/form-data\""}}}
私はすでに "track"パラメータを私が初期化したデータとしていると思いました。誰でも助けてくれますか?
CharlesProxyを使用して、実際にワイヤで送信しているものを確認します。 – JosephH
私の問題は解決していませんが、あなたが私に非常に有益なプログラムを示したので+1します。 – csotiriou
まあ、それは私が推測するスタートです:-) charlesproxy出力は、あなたが 'トラック'セクションを送信していることを示していますか?もしそうでなければ、あなたの「カール」の例はうまくいくのですか?もしそうであれば、カールとあなたのコードについてcharlesproxyのショーを比較してください。 – JosephH