2016-03-10 49 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方法,現在它的作品 –

相關問題