2017-02-23 138 views
0

Мне нужно пропустить несколько файлов на стороне клиента в один звонок, я не хочу помещать эти файлы в zip. Файлы, отправленные клиенту, небольшие, всего несколько ко. Я использую JAX-RS для обслуживания restfull, и клиент использует javascript для обработки ответа. должен ли я отправлять его в виде файлов или потоков, мои файлы - это миниатюры, мои клиенты - мобильные устройства, и им нужны эти картинки для их отображения.restfull multiple files загрузить

Я уже обеспечивают 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), и может процесс клиента по réponse построен таким образом?

+0

насчет возвращения списка Base64 закодированных содержимого файла, индексированные по имени файла в качестве ответа? –

+0

Что ты имеешь в виду? i кодировать содержимое всех файлов в одном файле с кодировкой base64, и для каждой кодированной части i префикс он также кодируется с именем base base64, это то, что вы имеете в виду? Если это так, как я разделяю содержимое содержимого и его имя? поэтому клиент может декодировать весь контент и правильно извлекать изображения. –

+1

Вы возвращаете объект JSON с именем файла как ключи и содержимое файла с кодировкой base64 как значение. Каждая запись представляет собой один файл. –

ответ

0

Вы можете вернуть список содержимого кодированного файла Base64, проиндексированного по имени файла в качестве ответа.

Пример:

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