Я пытаюсь просмотреть вложения в документе, используя метод итератора, прежде чем отправлять электронное письмо, включая вложения. При попытке извлечь вложения во время цикла получение имени файлов выглядит нормально, но получение пути вложения вызывает указанную выше ошибку.
Это написано в 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();
Ожидалось, что он будет проходить через вложение, изменять размер изображений перед установкой вложений в переменной электронной почты, но я получаю следующую ошибку:
Ошибка при вызове метода «next()» в классе Java «java.util.AbstractList$SimpleListIterator»
Это указывает на строку 10 этого кода:
alisti.next().extractFile(attachpath); // error points to this line