【发布时间】:2018-10-01 09:33:59
【问题描述】:
我使用 google.script.run 在 google app 脚本中使用 MailApp API 并传递一个这样的邮件对象:
google.script.run.sendMail(mail);
邮件对象的结构如下:
var mail = {
to:"",
cc:"",
subject:"",
htmlBody:"",
inlineImages: inlineImages
}
inlineImages 是一个 Javascript 对象,它将 key string 映射到来自 google ressources
的 图像数据 (BlobSource)但后来我在 inlineImages 中传递 File 对象,我得到 Failed 由于非法值。
编辑:
我得到 inlineImages 像这样:
var inlineImages
function createImages(event) {
var file = event.target.files[0];
var key = "image"+Object.keys(inlineImages).length;
inlineImages[key] = file;
}
我也尝试获取 Image 对象:
function createImages(event) {
var file = event.target.files[0];
var key = "image"+Object.keys(inlineImages).length;
var reader = new FileReader();
reader.onload = function(e) {
var img = new Image();
img.src = e.target.result;
inlineImages[key] = img;
}
reader.readAsDataURL(file);
}
【问题讨论】:
-
您能否告诉我们您是如何获得
inlineImages对象的。里面有什么谢谢 -
@JSmith 编辑完成。无论如何,我实际上是在驱动器上上传图像,然后使用 ID 获取图像 URL,这更容易。
-
不确定是否理解整个过程,但您的最终对象是否像
inlineImages: {variableName: imageObject}?? -
是的,我有带有
inlineImages{key: FileObject}的对象映射图像,每个文件都有名称、上次更新、...属性。 -
creatImages中的事件对象到底是什么,如何触发这个函数?
标签: javascript google-apps-script web-applications