我正在为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仅执行一些字符串格式化以生成唯一的文件名.
解决方法:
需要注意的事情. MIME附件并不总是被识别为文档附件.因此,虽然您可以在Notes客户端中看到它,但您将无法以编程方式访问它.
以下技术说明详细介绍了它以及如何解决它.
http://www-01.ibm.com/support/docview.wss?rs=463&&uid=swg21219985