Как создать кнопку загрузки в HTML? - PullRequest
0 голосов
/ 28 января 2019

Здравствуйте, я пытаюсь закодировать кнопку HTML для загрузки изображения.

Вот код, который я использую, который, кажется, приближается, но не совсем там.

<a href="https://assets.giftcardsuite.com/valentinesday/Valentines-Day-Theme-1.png" download>
  <img src="https://assets.giftcardsuite.com/valentinesday/Valentines-Day-Theme-1.png" class="img-responsive" alt="happy-valentines-day"> Click Here To Download
</a>

Вот скриншот того, как это выглядит, когда я загружаю его: https://snag.gy/tTC2ER.jpg

1 Ответ

0 голосов
/ 28 января 2019
  1. Вы можете проверить этот ответ: Ссылка на ссылку href для загрузки по клику

  2. Также этот ответ, используя Jquery Download Plugin

  3. Попробуйте этот скрипт :

//https://stackoverflow.com/a/50042812/10849656

function forceDownload(link){
    var url = link.getAttribute("data-href");
    var fileName = link.getAttribute("download");
    link.innerText = "...";
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.responseType = "blob";
    xhr.onload = function(){
        var urlCreator = window.URL || window.webkitURL;
        var imageUrl = urlCreator.createObjectURL(this.response);
        var tag = document.createElement('a');
        tag.href = imageUrl;
        tag.download = fileName;
        document.body.appendChild(tag);
        tag.click();
        document.body.removeChild(tag);
        link.innerText="Download";
    }
    xhr.send();
}
<a href="#" data-href='https://i.imgur.com/mdYoHMD.jpg' download="Image.jpg" onclick='forceDownload(this)'>Download Image</a>
...