markmariner
@markmariner

Почему не работает скачивание файла при использовании Blob в Firefox?

Мне необходимо отдать пользователь на скачивание файл, который доступен только с хедером авторизации. Я делаю так:

var anchor = document.createElement("a");
var file = address;

var headers = new Headers();
headers.append('Authorization', 'JWT ' + token);

fetch(file, {
    headers
  })
  .then(response => response.blob())
  .then(blobby => {
    var objectUrl = window.URL.createObjectURL(blobby);

    anchor.href = objectUrl;
    anchor.download = 'report.xls';
    anchor.click();

    window.URL.revokeObjectURL(objectUrl);

    resolve();
  });


В последнем Chrome всё работает, в последнем Firefox скачивания не происходит, хотя ссылка формируется. CanIUse говорит, что и Blob, и Fetch, и Download Attribute поддерживаются. В чём может быть дело?
  • Вопрос задан
  • 983 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Надо добавить ссылку в DOM-дерево, чтобы заработало.

Типа так, например: document.body.appendChild(anchor). А потом уже делать click.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы