. Это довольно просто:
Вот рабочая версия вашего кода:
(async function(){
var response = await superagent.get('...')
console.log(response)
})()
ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]
IE не поддерживает ни навигацию к URI данных, ни атрибут download
. Вы можете использовать navigator.msSaveBlob
для сохранения файла для IE 10+. Вы можете проверить window.navigator.msSaveBlob
и написать специальный код IE, иначе использовать существующий код для сохранения файла. Вы можете проверить следующую ссылку для получения дополнительной информации: Сохранение файлов локально с помощью Blob и msSaveBlob
IE не поддерживает тег download
.
Существует уродливый хак, который вы можете использовать.
iframe
: <iframe id="dummy" style="display:none; visibility:hidden"></iframe>
document
: var ifd = document.getElementById('dummy').contentDocument;
ifd.open('text/plain', 'replace');
ifd.write('whatever you want to be in the file');
ifd.close();
ifd.execCommand('SaveAs', true, 'request.bin');
Обратите внимание, что execCommand
не работает в IE11. Я знаю, что почти невозможно обнаружить браузер совершенно правильно. Однако вы можете попробовать это как подпрограмму резервного копирования, если сбой файла в вашем коде.
Я думаю, что это связано с anch.get(0).click();
, не поддерживаемым всеми браузерами специально для якорей hidden
, поэтому вы можете попробовать использовать следующий код,
anch.get(0).show().focus().click().hide();
Загрузить атрибут НЕ поддерживается в IE и iOS Safari
Команда SaveAs , использующая execCommand , может сделать трюк, выполнив загрузку содержимого элемента.
Используя msSaveBlob , это метод, который позволяет сохранять Blob или File, отправив эти заголовки:
Content-Length: <blob.size>
Content-Type: <blob.type>
Content-Disposition: attachment;filename=<defaultName>
X-Download-Options: noopen
Проверить Сохранение файлов локально с помощью Blob и msSaveBlob
Если вы не хотите реализовать все это самостоятельно, есть хорошая библиотека FileSaver.js для сохранения сгенерированных файлов на стороне клиента. Он поддерживает Firefox, Chrome, Chrome для Android, IE 10+, Opera и Safari. Для IE & lt; 10 есть вилка библиотеки, которая добавляет saveTextAs для сохранения текстовых файлов (.htm, .html, .txt)
Сценарий на стороне сервера, который получает имя файла, данные, тип meme, затем отправляет файл с заголовком Content-Disposition: attachment; filename=FILENAME