我是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卷曲会为我不需要的数据添加更多信息。我只想保存wav文件的数据。
请帮助我们:)提前感谢!
答案 0 :(得分:0)
从这看起来,由于你缺乏细节(比如没有代码显示你做了什么或API的确切要求是什么),看起来你正在做多部分formpost而服务器端希望你在没有多部分东西的情况下发送更“纯粹”的东西。
但实际上,如果你能告诉我们更多细节,我们可以更加确定地回答。