Lotus Notes从文档中获取附件名称

时间:2012-01-31 16:28:49

标签: java lotus-notes lotus

我正在为Notes 8.5.2开发一个Lotus Notes插件,用于将附件从eMail保存到Harddisk。但是当我尝试从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 个答案:

答案 0 :(得分:1)

“附件”不仅可以是ATTACHMENT类型,还可以是EMBEDDEDOBJECT,...

尝试查找所有RichTextItems,从每个项目EmbeddedObject获取所有nrt.getEmbeddedObjects(),然后获取嵌入对象的名称(eo.getName())。

答案 1 :(得分:1)

要注意的事情。 MIME附件并不总是被识别为文档附件。因此,虽然您可以在Notes客户端中看到它,但您将无法以编程方式访问它。

以下技术说明详细介绍了它以及如何解决它。

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