Jersey 2 REST客户端 - 读取多部分响应/ OctetStream响应

时间:2016-10-26 14:38:54

标签: java jersey-2.0

我正在构建一个Jersey 2客户端,它调用服务从服务器获取文件。

该服务将二进制文件内容作为application / octet-stream

返回

不,这是我调用webservice的代码

Response response = target.request().header(HttpHeaders.COOKIE, this.cookie)
                   .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM)     
                   .accept(MediaType.APPLICATION_OCTET_STREAM).get();

我收到HTTP 200响应。但我不明白如何从响应中获取文件内容。

修改 服务文档说“要获取二进制文件内容和元数据,请使用标题Accept:multipiart / mixed”

所以,我尝试了下面的

        Response response = target.request()
                            .header(HttpHeaders.COOKIE, this.cookie)
                            .header(HttpHeaders.CONTENT_TYPE, "multipart/mixed")
                            .accept("multipart/mixed").get();

即使在这里,我收到HTTP状态200响应。但是我如何阅读文件内容??

请帮助!!

1 个答案:

答案 0 :(得分:0)

看看documentation你会看到响应有一个readEntity方法,你可以用来读取输入流:

InputStream in = response.readEntity(InputStream.class);
... // Read from the stream
in.close();