Автоматическая загрузка файла из кросс-браузера URL - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь загрузить файл с URL, который мне предоставляет мой BE. У меня есть конечная точка, которая требует GUID файла и токен одноразового доступа и возвращает файл с заголовком

Content-Disposition:attachment; filename="testfile.txt"
Content-Type:text/plain; charset=UTF-8

и URL выглядит примерно так, и он динамически создается RXJS, поэтому я не могу просто добавить в HTML атрибут загрузки

`/document/${guid}/download?token=${token}`

Я нашел много тем с этой темой, но большинство из них рекомендует использовать функции класса окна, такие как open, assert, location и т. Д., Которые на самом деле не работают во всех браузерах так, как я хочу - автоматически начать загрузку файла без открытия дополнительной вкладки и т. д. Я также нашел решение с помощью DOM-манипуляций, таких как appendChild, с элементом и заданным URL-адресом и последующим его удалением, но мне это решение кажется уродливым.

Итак, мой вопрос: есть ли какой-нибудь элегантный способ заставить браузер загружать файл, не открывая его на дополнительной вкладке, без манипуляций с DOM и кросс-браузер (потому что атрибут загрузки не работает в Safari) или импорта сторонних производителей? библиотека

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