Можно ли сделать ссылку для скачивания файла на удаленном сервере? - PullRequest
1 голос
/ 20 мая 2019

Можно ли создать ссылку для загрузки удаленного файла в обычном HTML-формате или с помощью JavaScript или jQuery?

Атрибут download не работает для удаленных файлов в Chrome 73 или Firefox 66.

<a href="//amazon.com/ads.txt" download>ads.txt</a> 

Ответы [ 3 ]

3 голосов
/ 20 мая 2019

Нет, URL-адрес файла должен находиться в том же домене, что и содержащий документ, если это не blob: или data: URL:

  • Этот атрибут работает только для URL-адресов одного и того же происхождения.
  • Хотя URL-адреса HTTP (s) должны быть одного происхождения, BLOB-объекты: URL-адреса и данные: URL-адреса разрешены, чтобы можно было загружать содержимое, сгенерированное JavaScript, например изображения, созданные в веб-приложении для редактирования изображений.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Attributes

0 голосов
/ 20 мая 2019

Вы не можете сделать это на стороне клиента.

Сервер, на котором размещен ресурс, который вы хотите загрузить, может предоставить Content-Disposition заголовок ответа , который инициирует загрузку.

Content-Disposition: attachment; filename=ads.txt;
0 голосов
/ 20 мая 2019

Насколько я знаю, это невозможно.Я бы порекомендовал использовать какой-нибудь прокси-скрипт на вашем сервере для преодоления междоменных проблем, например, простой PHP-скрипт.Вы можете проверить реферер, добавить пользовательские заголовки для размещения контента и т. Д.

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