Есть ссылка
<a download href=url">Download</a>
. Есть возможность отловить, когда файл скачался, нужно сделать прелоадер?
Есть вариант по-старинке,
const onClick = async event => {
event.preventDefault();
const wrapperPreloader = document.querySelector('.wrapper-preloader');
wrapperPreloader.classList.add('preloader-appear');
const response = await fetch(event.target.href);
const blob = await response.blob();
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = getFileName(response.headers.get('content-disposition'));
document.body.appendChild(a);
a.click();
a.remove();
wrapperPreloader.classList.remove('preloader-appear');
};