0

私はPHPが初めてなので、ここで助けが必要です。

Wav ファイルを受け取る API を公開する Tomcat 7 で Java サーブレットを実行しています。私がサーブレットで行うことは、request.getInputStream(); からデータを取得することです。ファイルに保存します。

フィドラーを使用して、API を呼び出し (これをリクエスト本文 <@INCLUDE C:\wavlocation\2.wav @> に含めて)、ファイルを正しく保存します。現在、curlを使用してこのAPIを呼び出すPHPのスクリプトがありますが、何らかの理由でデータ(本体の入力ストリーム)にさらに情報を追加します。

テキスト エディターで正しい Wav ファイルがどのように表示されるかを次に示します。

RIFFd¯ WAVEfmt      @¬  €&gt;  [1]  data@¯ çÿ×ÿïÿ÷ÿÿÿ ÿÿ÷ÿÿÿ ÿÿïÿ ' 7 7 _ ? /  ÿÿ…

私のサーブレットからwavファイルを保存する方法は次のとおりです。

------------------------------4564fc26ec61
Content-Disposition: form-data; name="file_box"; filename="/var/www/recordings/1ab26427-0b9e-428e-8730-9fd6076c52e7.wav"
Content-Type: application/octet-stream

RIFFd¯ WAVEfmt      @¬  €&gt;  [1]  data@¯ çÿ×ÿïÿ÷ÿÿÿ ÿÿ÷ÿÿÿ ÿÿïÿ ' 7 7 _ ? /  ÿÿ¬…

何らかの理由でわかるように、PHP カールは、私が必要としないデータにさらに情報を追加します。wavファイルのデータを保存したいだけです。

私を助けてください:)事前に感謝します!

4

1 に答える 1

0

これを見ると、詳細が不足しているため(何をしたか、APIの正確な要件が何であるかを示すコードがないなど)、サーバー側が期待している間にマルチパートフォームポストを行っているようですマルチパートのものを使わずに、より「純粋な」POSt を送信します。

しかし、実際には、詳細を教えていただければ、より確実に答えることができます.

于 2013-03-24T15:13:35.077 に答える