Если коротко, то в тег A можно добавить атрибут download. Это укажет, что содержимое не адрес, куда следует перейти, а файл для скачивания.
1 |
<a href="/myFile.txt" download>Get the file!</a> |
Это также работает для inline объектов, т.е. можно использовать протоколы blob: или data:
1 |
<a href="data:text/txt;charset=utf8,sometext" download>Get the file!</a> |
В остальном фича работает только в рамках same-origin, т.е. скачивает файлы с того же домена, что и страница.
Дополнительно можно установить значение для имени файла, под которым он будет скачан.
1 |
<a href="/myFile.txt" download="asAFileName.txt">Get the file!</a> |