Скачать и заархивировать файлы в React? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть приложение, которое хранит консультации для пользователей.Консультация содержит данные о пользователе и документы, приложенные к консультации.Моя цель - вернуть все документы, которые были прикреплены к консультации, в виде почтового индекса пользователю.Довольно прямолинейно.

У нас есть ограничение времени ожидания 5 секунд.Первоначально я думал, что мы могли бы просто загрузить файлы и архивировать их на стороне сервера.Таким образом, я мог просто создать новую конечную точку, которая вернула бы пользователю почтовый индекс.Но из-за 5-секундного тайм-аута это может не сработать.

Так что я смотрю на скачивание и архивирование файлов на стороне клиента.Внешний интерфейс построен в React, и я изучал использование JSZip .Хотя почти все, что я нашел, использует JSZip, использует его на стороне сервера.

Возможно ли скачивать и архивировать файлы на стороне клиента с помощью React?Есть ли библиотека, которую я мог бы использовать?Или все это должно быть на стороне сервера?

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете использовать JsZip на стороне клиента.Я это сделал.Например, если вы хотите скачать изображение, вам нужен его URL.Затем сделайте запрос с помощью axios.Например: request = (currentUrl: string): Promise<void> => axios({ url: currentUrl, method: 'GET', responseType: 'blob', }).then((response) => { const url: string = window.URL.createObjectURL(new Blob([response.data])); }); затем используйте URL, который вам дал axios, чтобы загрузить ваш файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...