2017-02-23 100 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": ... 
}