简体   繁体   中英

Download Image by clicking on button using JavaScript

I have this image with a data URL and a button.

Now, I want to download that image using JavaScript. So far I got this code but after download the image its saying: It looks like we don't support this format.

<img src="data:image/png;base64,iVBORw0KGgoA....." class="filterImage">

<input type="button" name="button" value="Save" id="saveImg" class="btn btn-primary float-right">
function saveImage() {  
  let image = document.querySelector(".filterImage");
  var img = new Image(); 
  
  img.onload = function() {
        let canvas = document.createElement("canvas");
        let width = canvas.width;
        let height = canvas.height;
        let context = canvas.getContext("2d");
        context.drawImage( image, 0, 0, width, height );    
  }

  img.src = image.src;
   
  let link = document.createElement('a');
  link.download = "image.png";
  link.style.opacity = "0";
  link.href = image.src;
  document.body.append(link);   
  link.click();
  link.remove();
}
        
saveImage(); // For testing purpose I am directly calling this function

Is there anything I am wrong? How can I solve it?

Some browsers do not allow links to be clicked programmatically (by way of ~ link.click() ); for example, when I try to do so, Chrome navigates to "#blocked".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM