Lotus notes get attachment names from document

2020-03-06 02:53发布

I'm developing an Lotus Notes plug-in for Notes 8.5.2 that saves the attachments from an eMail to the Harddisk. But when I try to read the attachment names from a Notes document I always get the same string containing the first attachment name + some junk data.

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 only does some string formatting to generate a unique filename.

2条回答
闹够了就滚
2楼-- · 2020-03-06 03:41

An "attachment" can not only be of the type ATTACHMENT, but also EMBEDDEDOBJECT, ...

Try to find all RichTextItems, get all the EmbeddedObjects from each of these items ( nrt.getEmbeddedObjects()) and then get the name of the embedded object (eo.getName()).

查看更多
Juvenile、少年°
3楼-- · 2020-03-06 03:48

Something to be aware of. MIME attachments are not always recognized as document attachments. So while you can see it in the notes client, you will not be able to programmatically access it.

The following tech note details it more and how to resolve it.

http://www-01.ibm.com/support/docview.wss?rs=463&&uid=swg21219985

查看更多
登录 后发表回答