我想使用Apache HttpClient将文件内容作为http请求的一部分发送,但我不知道如何在请求正文中传递文件内容。

最佳答案

您没有指定格式...。

最可能的是,您要发送POST请求,其内容将是multipart / form-data MIME类型。这模拟了浏览器从表单元素发送的内容。这需要在服务器端进行一些相当复杂的解析,才能从主体中提取多个部分并从其他字段(如果有)中正确提取文件数据。幸运的是,commons-fileupload做到了这一点。关于FilePart的第一个答案是完全正确的。

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

10-07 13:12
查看更多