Я работаю над приложением React, которое запрашивает ZIP-файл по запросу GET с сервера. Я использую Ax ios в качестве библиотеки запросов.
В ответе получаются следующие заголовки:
Content-type: application/octet-stream
Content-Disposition: attachment; filename=data.zip
Проблема, с которой я столкнулся, заключается в том, что браузер не запускается автоматически загрузка после завершения запроса.
Я думал об использовании window.open
, но это не сработает, поскольку запрос авторизован и требует отправки JWT в заголовке Authorization
.
Теперь у меня осталось два подхода, и мне нужно понять, какой из них лучше.
- Создайте файл, используя данные ответа и конструктор
File
, а затем прикрепите его к тегу a
. Щелкните его программно, чтобы запустить загрузку. - Временно загрузите файл в S3 со стороны сервера и получите подписанный URL-адрес в ответе, в котором я могу использовать
window.open
Также . Есть ли у подхода 1 проблемы с производительностью, когда файл предположительно будет большим (скажем,> 15 МБ).
Любая помощь приветствуется.