ImgurにURLから簡単にアップロードできるブックマークレットを作ってみた

広告

Imgur bookmarklet
 

Imgurに画像をアップロードして画像のURLを取得するまでに結構な手順が必要です。
今回URLから簡単にアップロードしてImgurのアドレスを取得するブックマークレットを作ってみました。


コードは以下です。

 
javascript:(function(){
 var u = location.href;
 var ex = u.split("/#|?/")[0].split('.').pop().trim();
 re = /(jpe?g|png|gif|bmp)/;
 if (re.test(ex)) {
  var myHeaders = new Headers();
  myHeaders.append("Authorization", "Client-ID xxxxxxxxxx");
  var formdata = new FormData();
  formdata.append("image", u);
  formdata.append("type", "url");
  var requestOptions = {
   method: 'POST',
   headers: myHeaders,
   body: formdata,
   redirect: 'follow'
  };
  fetch("https://api.imgur.com/3/image", requestOptions)
  .then(response => response.text())
  .then(result => {
   var obj = JSON.parse(result);
   var tmp = document.createElement('p');
   var pre = document.createElement('pre');
   pre.style.userSelect = 'auto';
   tmp.appendChild(pre).textContent = obj.data.link;
   document.body.appendChild(tmp);	 
   document.getSelection().selectAllChildren(tmp);
   document.execCommand('copy');
   alert('Completed:' + obj.data.link);
  })
  .catch(error => {
   console.log('error', error);
   alert("Upload failed.\n" + error);
  });
 } else {
  alert("Not Image");
 }
})();
 

使用するにはImgurのアプリ登録が必要です。
アプリ登録は以下のサイトを見ると分かりやすく書いてあります。

   

準備

  • アプリを登録して、Client-IDを取得
  • コードの5行目、xxxxxxxxxxを取得したClient-IDへ変更
  • 改行を取り除いて、お気に入りに登録

使い方

  • ブラウザでアップロードしたい画像を開く。(インターネット上のファイルです。)
  • ブックマークレットを開く
  • Imgurのアドレスがクリップボードにコピーされる

注意

  • 著作権は守りましょう。
  • Chromeのみで動作確認しています。
  • うまくいかない画像もあります。