2016-03-10 47 views
0

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

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); 
} 

回答

0

该代码实际上是正确的,但没有得到执行,因为我没有从正确的位置调用它。放入onInstall方法,然后它工作。

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="; 
} 
+0

你不能?因为我记录了变量的值,并且工作。今晚会尝试你的版本!谷歌驱动器被阻止在工作:( –

+0

你可以使用全局变量,事实证明我的问题是,当我测试它的代码甚至没有执行,我把它放在onInstall方法,现在它的工作 –

0

您的全局变量声明之前只是删除了“变种”:在全球范围内var声明

img_3k = "iVBORw0KGg..."; 

变量不会在功能可见。 你也可以大写变量(IMG_3K),所以你立即知道它是一个静态的全局变量

+0

你可以使用全局变量与var,事实证明我的问题是,代码甚至没有执行时,我测试它,我把它放在onInstall方法,现在它的作品 –

相关问题