Trellmor
Trellmor

Reputation: 674

Lotus notes get attachment names from document

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.

Upvotes: 3

Views: 5080

Answers (2)

leyrer
leyrer

Reputation: 1492

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()).

Upvotes: 1

Simon O&#39;Doherty
Simon O&#39;Doherty

Reputation: 9359

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

Upvotes: 1

Related Questions