2011-01-21 16 views
0

私は現在、非常にうまく文書化されていないREST APIに接続しようとしています。 Http POSTリクエストを使用して特定のURLにPDFをアップロードする必要があります。バイナリコード化されたPDFとは何ですか?

APIドキュメントは言う:バイナリエンコードされたPDFと、この要求に

POST。

これはうまくいかず、 "binary encoded pdf"とはどういう意味ですか?私が何をしたか

されました:

$pdf = base64_encode(file_get_contents("test.pdf")); 
$result = $restClient->post('/api/upload/', $pdf); 

結果:

400 - 不正な要求

注:RESTクライアントは他のすべての要求のために動作します。私はちょうど "バイナリコード化された"が何を意味するのか分からないようです。 「 - BASE64でないエンコードを行い、そのまま」

HTTPヘッダーの「Content-type」はまた、正しく「アプリケーション/ PDF」

+0

おそらく、彼らはtrinary PDFを送信する人々に問題があったでしょうか?これがドキュメントのサンプルであれば、APIの開発者は数回の手掛かりで叩かれる必要があると言えます。 –

+0

@Marc:いいえ、単なるPDFが送られている可能性があります。今それは役に立たない! – icktoofay

+1

multipart/POSTが 'Content-Transfer-Encoding:binary'を使用しているかどうか確認してください。また、base64も明らかにuneededです。コンテンツタイプとして 'application/octet-stream'を試してください。これは、人々が"バイナリ "と言ったときに何を意味するのかということが多いからです。 – mario

答えて

1

が言って奇妙な方法のような音に設定されています。

関連する問題