我正在为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仅执行一些字符串格式化以生成唯一的文件名。
答案 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