【发布时间】:2019-08-15 08:06:53
【问题描述】:
在发送包含附件的电子邮件之前,我正在尝试使用迭代器方法遍历文档中的附件。在循环期间尝试提取附件时,获取文件名似乎很好,但获取附件路径会引发上述错误。
这是用ssjs写的,但是调用了一个java类通过SMTP发送邮件。
var bodyAttach = new java.util.Vector();
var alist = nDoc.getAttachmentList("gDocs");
if (!alist.isEmpty()) {
var alisti = alist.iterator();
// Each element is of type NotesEmbeddedObject
while (alisti.hasNext()) {
attachname = alisti.next().getName();
attachpath = java.lang.System.getProperty('java.io.tmpdir') + java.io.File.separator + attachname.replace(/ /g, '_');
alisti.next().extractFile(attachpath);
extattachname = @LowerCase(@RightBack(attachname, "."));
if (extattachname == "gif" || extattachname == "jpg" || extattachname == "jpeg" || extattachname == "png") {
res_attachpath = resizeImage(attachname,attachpath,1024,1024);
if (res_attachpath != "") {
bodyAttach.add(res_attachpath);
} else {
bodyAttach.add(attachpath);
}
} else {
bodyAttach.add(attachpath);
}
}
}
vMail.setBodyAttach(bodyAttach);
vMail.getBodyAttach();
在设置 email 变量的附件之前,应该遍历附件,调整图像大小,但我收到以下错误:
在 java 类上调用方法 'next()' 时出错 'java.util.AbstractList$SimpleListIterator'
这指向此代码的第 10 行:
alisti.next().extractFile(attachpath); // error points to this line
【问题讨论】:
-
Sam,当你在上面的时候:将代码转换为 bean。使测试更容易,代码更简洁
标签: java xpages xpages-ssjs ssjs