我正在构建一个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响应。但是我如何阅读文件内容??
请帮助!!
答案 0 :(得分:0)
看看documentation你会看到响应有一个readEntity方法,你可以用来读取输入流:
InputStream in = response.readEntity(InputStream.class);
... // Read from the stream
in.close();