Для скачивания файла через JavaScript можно воспользоваться следующими способами:
1. **Использование ссылки**:
Можно создать ссылку (<a>
), задать ей атрибуты href
с путем к файлу и download
с именем файла, который будет скачиваться. После этого программно выполнить "клик" по созданной ссылке.
function downloadFile(url, fileName) { const link = document.createElement('a'); link.href = url; link.download = fileName; link.click(); }
2. **Использование Fetch API**:
Можно использовать Fetch API для загрузки файла и Blob API для создания объекта Blob
из полученных данных. Полученный объект Blob
затем можно преобразовать в URL файла и использовать для скачивания файла.
function downloadFile(url, fileName) { fetch(url) .then(response => response.blob()) .then(blob => { const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = fileName; link.click(); URL.revokeObjectURL(url); }); }
3. **Использование XMLHttpRequest**:
Вместо Fetch API можно использовать XMLHttpRequest для загрузки файла. Полученный результат также можно преобразовать в объект Blob
и далее скачать его, как в примере выше.
function downloadFile(url, fileName) { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function() { const blob = xhr.response; const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = fileName; link.click(); URL.revokeObjectURL(url); }; xhr.send(); }
Это три основных способа, которые позволяют скачать файл через JavaScript. Каждый из них имеет свои особенности и может быть выбран в зависимости от конкретных требований и сценариев использования.