Как ловить ошибку при скачивании файла из одностраничного приложения?

В одностраничном приложении для скачивания файлов делаю редирект на URL, который отдаёт содержание файла, content0disposition: attachment, файл предлагает сохранить, при этом браузер остаётся на исходной странице. Всё хорошо.

Но иногда файл бывает ещё не готов, и тогда возвращаю вместо файла статус 204 No Content – и просто ничего не происходит. В теле ответа даю сообщение об ошибке, но оно никуда не попадает.

Как можно из исходной страницы получить тело 204 ответа?

Или как лучше организовать случай отсутствия файла при редиректе? Надо, чтобы браузер оставался на странице, чтобы не порушить приложение.

Вариант делать доп. запрос перед скачиванием, проверяя, есть ли файл – не айс, лишний запрос. В крайнем случае остановлюсь на этом.
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ищите информацию про XHR2, тип ответа "blob", создании на клиенте ссылки на сгенерированный объект из полученного blob, и придумайте как пользователю перейти по этой ссылке (либо перейти за него).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы