Просто чтобы позволить пользователю загрузить изображение или другой файл, вы можете использовать атрибут HTML5 download
.
Загрузка статического файла
<a href="/images/image-name.jpg" download>
<!-- OR -->
<a href="/images/image-name.jpg" download="new-image-name.jpg">
Динамическая загрузка файла
В случаях динамического запроса изображения можно эмулировать такую загрузку.
Если ваше изображение уже загружено и у вас есть источник base64
, тогда:
saveBase64AsFile(base64, fileName) {
var link = document.createElement("a");
link.setAttribute("href", base64);
link.setAttribute("download", fileName);
link.click();
}
В противном случае, если файл изображения загружен как Blob
, вы можете использовать FileReader
для преобразования его в Base64:
saveBlobAsFile(blob, fileName) {
var reader = new FileReader();
reader.onloadend = function () {
var base64 = reader.result ;
var link = document.createElement("a");
link.setAttribute("href", base64);
link.setAttribute("download", fileName);
link.click();
};
reader.readAsDataURL(blob);
}
Плохие новости!Будьте осторожны: IE не поддерживается: Caniuse link