CURL Post为上传的文件数据添加标题

时间:2013-03-24 09:08:42

标签: php post curl upload header

我是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文件的数据。

请帮助我们:)提前感谢!

1 个答案:

答案 0 :(得分:0)

从这看起来,由于你缺乏细节(比如没有代码显示你做了什么或API的确切要求是什么),看起来你正在做多部分formpost而服务器端希望你在没有多部分东西的情况下发送更“纯粹”的东西。

但实际上,如果你能告诉我们更多细节,我们可以更加确定地回答。