【问题标题】:Sending several files from server side using http 'POST' -send ArrayList of FileInputStream使用 http 'POST' 从服务器端发送多个文件 - 发送 FileInputStream 的 ArrayList
【发布时间】:2014-05-07 09:35:43
【问题描述】:

我成功地编写了一个 http 'post' 从服务器端获取 1 个文件(图像),如下所示:

@Path("getImage")
@POST @Produces({MediaType.APPLICATION_OCTET_STREAM})
public Response getImage(picRequest request)  throws Exception {
     File file = ......
       return Response.ok(new FileInputStream(file)).build();
}

我使用客户端检查它:

ClientResponse response = webResource
            .type(MediaType.APPLICATION_JSON)
            .accept(MediaType.APPLICATION_OCTET_STREAM)
            .post(ClientResponse.class, inp);

问题是我在尝试发送列表中的多个文件时无法成功。 (FileInputStream的ArrayList)

ArrayList<InputStream> resultData = new  ArrayList<InputStream>();
while (rs.next()) {
    ....
    resultData.add(new FileInputStream(file));
}
  return Response.ok(resultData).build();

我该怎么做? MediaType 应该是什么?

非常感谢您的帮助。

【问题讨论】:

  • 一个请求,一个响应。如果您想在一个请求中返回多个文件,请考虑将它们压缩。编辑:当然我完全怀念这是一个 RESTful 网络服务,你应该标记它。

标签: java json arraylist fileinputstream


【解决方案1】:

考虑返回多部分/混合响应。这是一个博客,专门描述了如何使用 Jersey 做到这一点。

http://geekoolympics.blogspot.com/2013/02/jersey-mutipart-resource-that-produces.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多