如何从base64字符串插入图像

时间:2016-03-10 21:25:58

标签: google-apps-script

下面的代码应插入一个由base64字符串img_3k制作的图像blob,但不知何故它不会。我做错了什么?

var img_3k = "iVBORw0KGg..."

function searchAndReplace() {
  var body = DocumentApp.getActiveDocument().getBody();
  var blobImg = Utilities.newBlob(Utilities.base64Decode(img_3k), MimeType.PNG);
  body.insertImage(0, blobImg);
}

3 个答案:

答案 0 :(得分:0)

嗯,我的代码没问题。 我想您的问题是您使用的是全局变量,但您无法在Google Apps脚本中使用全局变量。

function searchAndReplace() {
  var img= getImage();
  var body = DocumentApp.getActiveDocument().getBody();
  var blobImg = Utilities.newBlob(Utilities.base64Decode(img), MimeType.PNG);
  body.insertImage(0, blobImg);
}


function getImage() {
  return "iVBORw0KGgoAAA...SUVORK5CYII=";
}

答案 1 :(得分:0)

在全局var声明之前删除“var”:

img_3k = "iVBORw0KGg...";

在全局范围内使用var声明的变量在函数中不可见。 您也可以将变量大写(IMG_3K),这样您就可以立即知道它是一个静态的全局变量

答案 2 :(得分:0)

代码实际上是正确的,但没有被执行,因为我没有从正确的位置调用它。放入onInstall方法,然后就可以了。