0

我有一个 REST 服务,它在通过 POST 调用以 XML 文件作为参数调用它时返回一个文件。我的目标是使用客户端访问服务(java 类中的简单 httppost 调用)。到目前为止,我正在执行以下操作:

    DefaultHttpClient defaultHtppclient = new DefaultHttpClient();
    HttpPost postRequest = new HttpPost("resturl");
    StringEntity input = new StringEntity("input xml file ");
    input.setContentType("application/xml");
    postRequest.setEntity(input);
    HttpResponse response = defaultHtppclient.execute(postRequest);                           

当我使用以下方法转换响应时,我正在获取文件的内容:

String content = EntityUtils.toString(response.getEntity());

但我正在努力从 java 类中下载文件。当我在 Firefox HTTP 资源测试中触发 URL 时。我得到的标题为:

Content-Disposition: attachment; filename = filenameFromserver
Content-Type: application/octet-stream

有没有办法从客户端下载文件?

4

1 回答 1

2

您正在拨打的电话是应用程序/xml,服务器正在向您发送一个八位字节流。

您必须读取它发送给您的字节并将它们写到您想要的文件中。我建议四处寻找如何阅读八位字节流。

例如,看看这篇文章:

从 URLConnection 读取二进制文件

于 2013-10-09T16:30:33.243 回答