【发布时间】:2020-03-03 06:16:02
【问题描述】:
给定一个 png 文件的一些 base64 编码数据,如下面的图像标签示例所示。
<img src="data:image/png;base64,R0lGODlhDAAMAKIFAF5LAP/zxAAAANyuAP/gaP///wAAAAAAACH5BAEAAAUALAAAAAAMAAwAAAMlWLPcGjDKFYi9lxKBOaGcF35DhWHamZUW0K4mAbiwWtuf0uxFAgA7">
我需要为 insertImage() 方法从 base64 编码数据创建图像 blob。
sheetClass.insertImage(imageBlob, column, row)
文档: Sheets Class - insertImage method
我尝试使用下面的代码,但它会引发错误:
执行失败:从 URL 或错误 URL 检索图像时出错
文档指出该方法需要一个 blob,而不是 URL,但它似乎需要一个指向图像文件的链接。
function insertImageFromBase64Src() {
var data = 'R0lGODlhDAAMAKIFAF5LAP/zxAAAANyuAP/gaP///wAAAAAAACH5BAEAAAUALAAAAAAMAAwAAAMlWLPcGjDKFYi9lxKBOaGcF35DhWHamZUW0K4mAbiwWtuf0uxFAgA7';
var imageBlob = Utilities.newBlob(Utilities.base64Decode(data), 'image/png').getBytes();
var ss = SpreadsheetApp.getActiveSpreadsheet();//This code is bound to a Sheet
var po = {
shName:'Update File',
column:1,
row:37
}
var sh = ss.getSheetByName(po.shName);
var image = sh.insertImage(imageBlob, po.column, po.row);//Insert an image and return the image
}
【问题讨论】:
标签: image google-apps-script google-sheets base64