我对 PHP 有点陌生,所以我需要一些帮助。
我有一个在 Tomcat 7 上运行的 Java Servlet,它公开了一个接收 Wav 文件的 API。我在 Servlet 中所做的是从 request.getInputStream(); 并将其保存到文件中。
使用 fiddler 我会调用 API(在请求正文中使用这个 <@INCLUDE C:\wavlocation\2.wav @>),它会正确保存文件。现在我在 PHP 中有一个脚本,它使用 curl 调用这个 API,但由于某种原因,它向数据(主体的输入流)添加了更多信息。
这是正确的 Wav 文件在文本编辑器中的样子:
RIFFd¯ WAVEfmt @¬ €> [1] data@¯ çÿ×ÿïÿ÷ÿÿÿ ÿÿ÷ÿÿÿ ÿÿïÿ ' 7 7 _ ? / ÿÿ…
这是从我的 servlet 中保存 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 @¬ €> [1] data@¯ çÿ×ÿïÿ÷ÿÿÿ ÿÿ÷ÿÿÿ ÿÿïÿ ' 7 7 _ ? / ÿÿ¬…
正如您所看到的,由于某种原因,PHP curl 向我不需要的数据添加了更多信息。我只想保存 wav 文件的数据。
请帮助我:)提前谢谢!