この記事でやること
- Googleドライブ内の画像ファイルIDを指定して読み込む
- encodeBase64ボタンをクリックしたら
- 1の画像をbase64エンコードしたデータをimg_base64のsrcに入れる
var originalFileId = "ファイルID"
ファイルIDにGoogleドライブ内に保存した画像ファイルのIDを指定する
コード.gs
function doGet(e) { return HtmlService.createHtmlOutputFromFile("index"); } var originalFileId = "ファイルID";//オリジナル画像 function returnImage() { var url = 'https://drive.google.com/thumbnail?sz=w1000&id=' + originalFileId; return url; } function returnBase64Data() { var id = originalFileId; var file = DriveApp.getFileById(id); var blob = file.getBlob(); var content_type = blob.getContentType(); var base64 = Utilities.base64Encode(blob.getBytes()); var data = "data:" + content_type + ";base64, " + base64; return data; } |
index.html
<!DOCTYPE html> <html> <body> <button id="bt_base64">encodeBase64</button> <br> <img id="img"> <img id="img_base64"> <canvas id="canvas1"></canvas> <script> function elem(id) { return document.getElementById(id); } getImage(); elem('bt_base64').onclick = getBase64Data; /************************************ オリジナル画像を読み込む ************************************/ function getImage() { google.script.run .withSuccessHandler(gotImage) .returnImage(); } function gotImage(url) { document.getElementById("img").src = url; } /************************************ base64にエンコードした画像 ************************************/ function getBase64Data() { google.script.run .withSuccessHandler(gotBase64Data) .returnBase64Data(); } function gotBase64Data(data) { document.getElementById("img_base64").src = data; } </script> </body> </html> |