2017-02-23 137 views
0

我需要在一次调用中提供多个文件到客户端,我不想把这些文件放在一个zip文件中。 发送给客户端的文件很小,只有很少几个。 我使用JAX-RS进行restfull服务,客户端使用javascript来处理响应。 我应该把它作为文件或者流发送,我的文件是缩略图,我的客户端是移动设备,他们需要这些图片来显示它们。restfull多个文件下载

我已经提供了一个URL来获得一个文件:

@GET 
@Produces(MediaType.APPLICATION_OCTET_STREAM) 
public Response downloadFile(String fileName) { 
    File file = ... // Find your file 
    return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM) 
     .header("Content-Disposition", "attachment; filename=\"" + file.getName() + "\"") 
     .build(); 
} 

我能发送的文件Response.ok(myList中)的列表,并且可以在客户端过程中的效应初探构建呀?

+0

什么返回由文件名作为响应索引Base64编码的文件内容的列表? –

+0

你是什么意思?我编码整个文件的内容在一个base64编码的文件,并为每个编码的部分我前缀与文件名base64编码也,这就是你的意思?如果是这样,那么我如何分离图像的内容和它的文件名?因此客户端可以解码整个内容并正确提取图像。 –

+1

您返回一个JSON对象,其中的文件名作为键和base64编码的文件内容作为值。每个条目都是一个文件。 –

回答

0

您可以返回由文件名索引的Base64编码文件内容列表作为响应。

例子:

{ 
    "file1.txt": "YW55IGNvbnRlbnQ=", 
    "file2.txt": ... 
}