【发布时间】:2021-09-10 16:55:06
【问题描述】:
我有一个内置在 Google Apps 脚本中的登录表单,可将数据发送到 Google 表格中的一行。但是,如果用户尝试登录不在预设列表中,它会向店员发送一封电子邮件。登录电脑有网络摄像头,GAS表格可以激活网络摄像头并拍照;它返回图像数据的base64编码字符串(jpeg格式)。
我正在努力让 GAS 创建适当的 Blob,以将其作为 inlineImage 添加到电子邮件中。
var userImgBlob = Utilities.newBlob()
.setContentType("image/jpeg")
.setDataFromString(Utilities.base64Decode(imgTxt.slice(23)))
.setName("userImgBlob");
imgTxt 包含数据:URI,进来像:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM....
对前 24 个(0 到 23)个字符进行切片会删除标题,使其仅是图像数据。然而,这会导致脚本失败。 (注释掉这一部分可以让脚本的其余部分运行良好。)
我的定义有什么错误?
注意:我已经看过How to include inline images in email using MailApp。我的问题有点不同,因为在那篇文章中,用户正在从网络上获取 URL。这是我正在使用的 data: URI。
【问题讨论】:
-
这是this thread的副本
-
其实并不完全是重复的。我已经找到了那个线程——那个用户正在获取一个实际的 URL,而不是使用数据:URI。
标签: google-apps-script google-sheets base64