Lotus Notes получает имена вложений из документа - PullRequest
2 голосов
/ 31 января 2012

Я разрабатываю плагин Lotus Notes для Notes 8.5.2, который сохраняет вложения из электронного письма на жесткий диск. Но когда я пытаюсь прочитать имена вложений из документа Notes, я всегда получаю одну и ту же строку, содержащую имя первого вложения + некоторые ненужные данные.

protected Vector<String> getAttachmentNames() throws NotesException,
        IOException {
    Vector<String> attachmentNames = new Vector<String>();
    Item item = null;
    Enumeration<?> itemsEnum = mailDoc.getItems().elements();
    while (itemsEnum.hasMoreElements()) {
        item = (Item) itemsEnum.nextElement();
        if (item.getType() == Item.ATTACHMENT) {
            attachmentNames.add(getAttachmentNameOf(item));
        }
    }
    return attachmentNames;
}

protected String getAttachmentNameOf(Item item) throws NotesException,
        IOException {
    return getAttachmentName(item.getValueString());
}

getAttachmentName выполняет только некоторое форматирование строки для генерации уникального имени файла.

Ответы [ 2 ]

1 голос
/ 31 января 2012

Что-то, о чем нужно знать. Вложения MIME не всегда распознаются как вложения документов. Поэтому, пока вы можете видеть его в клиенте заметок, вы не сможете получить к нему программный доступ.

Следующая техническая записка более подробно описывает и как ее решить.

http://www -01.ibm.com / поддержка / docview.wss? Rs = 463 && UID = swg21219985

1 голос
/ 31 января 2012

«Вложение» может быть не только типа ATTACHMENT, но также EMBEDDEDOBJECT, ...

Попробуйте найти все RichTextItems, получить все EmbeddedObject s от каждого из этихэлементы (nrt.getEmbeddedObjects()), а затем получить имя внедренного объекта (eo.getName()).

...