JavaScript のコードから画像ファイルをダウンロードする方法についてです。
Web だったら、通常は画像右クリックで表示されるメニューからダウンロードができますが、諸事情あってその方法が使えなかったので、実装しました。
参考にさせていただいた記事はこちらから。
How to download image in reactjs? – Stack Overflow
https://stackoverflow.com/questions/57056741/how-to-download-image-in-reactjs
サンプルコードはこちら。
downloadImage = (url) => {
  const matches = url.match(/[A-Za-z0-9\-_]+\.\w+$/);
  fetch(url, {
    method: 'GET',
    headers: {},
  })
    .then((response) => {
      response.arrayBuffer().then((buffer) => {
        const url = window.URL.createObjectURL(new Blob([buffer]));
        const link = document.createElement('a');
        link.href = url;
        link.setAttribute('download', matches[0]);
        document.body.appendChild(link);
        link.click();
      });
    })
    .catch((err) => {
      console.log(err);
    });
}
downloadImage() という関数内で、画像ダウンロードの処理を行っています。
使用する際には、引数にダウンロードしたい画像 URL を渡してください。
上記を実行すると、ダウンロードのダイアログが表示されるので、そこから画像をダウンロードできます!
念のため、ダウンロードした画像を開いてみましたが、画像の一部が壊れていたり、画質が粗くなっていたりもしていませんでした。
また、この方法だと画像だけでなく動画も保存できましたので、もしコード上でURLから画像をダウンロードする際には、この方法がおすすめです。
以上、JavaScript でURLから画像をダウンロードする方法についてでした。
ご参考になれば幸いです。
 
					         
               
                       
                