使用HttpClient发布文件的内容?

时间:2009-01-15 17:34:13

标签: java post apache-commons-httpclient

我想使用Apache HttpClient将文件的内容作为http请求的一部分发送,我无法弄清楚如何在请求正文中传递文件内容。

2 个答案:

答案 0 :(得分:3)

您没有指定格式....

最有可能的是,您要发送POST请求,内容将是 multipart / form-data MIME类型。这模拟了浏览器从< INPUT type =“file”发送的内容...>形式元素。这需要在服务器端进行一些非常复杂的解析,以从正文中提取多个部分,并从其他字段(如果有)中正确提取文件数据。幸运的是,commons-fileupload完美地做到了这一点。关于FilePart的第一个答案是完全正确的。

或者,您可以使用InputStreamRequestEntity简单地将文件的原始内容作为请求正文发布。如果您正在编写自己的服务器端来接收数据,这可能会简单得多。服务器端就像将请求的InputStream流式传输到磁盘一样简单。我使用此技术上传Google Gears。

答案 1 :(得分:1)

查看FilePart及相关内容。

这是sample