[Domino]Java访问Domino邮件代码片断[4]下载某一封邮件中的指定附件

[Domino]Java访问Domino邮件代码片断[4]


编写者


日期


关键词


郑昀@ultrapower


2005-8-1


Java Domino

 

下载某一封邮件中的指定附件

3个知识点:

1:需要通过NoteID来定位该邮件:

Database dbMail = sNotes.getDatabase(sNotes.getServerName(),

                      mailfile, false);

Document doc = dbMail.getDocumentByID(noteid);

2:其次需要通过attachment name来定位该附件:

EmbeddedObject eAttach =

(EmbeddedObject)doc.getAttachment(attachmentFileName);

3:通过EmbeddedObject的extractFile方法下载附件。


代码片段:


Database dbMail = sNotes.getDatabase(sNotes.getServerName(),

                      mailfile, false);

Document doc = dbMail.getDocumentByID(noteid);

if (doc != null)

{

       // Given the name of a file attachment, returns a NotesEmbeddedObject

       // representing the attachment. You can use this method to find file

       // attachments which are not contained in a rich text item

       // (such as an attachment in a Release 2 database),

       // as well as file attachments that are contained in a rich text item.

       EmbeddedObject eAttach =

       (EmbeddedObject)doc.getAttachment(attachmentFileName);

       // 查看附件

       if(eAttach != null)

       {

          logger.info("打开了指定邮件的指定附件");

      

          // 是否是我们要寻找的哪个附件?

          // 是的话,就保存下来

          String strAttachmentFileName =

                 eAttach.getSource();

      

          // Writes a file attachment to storag

          if(strAttachmentFileName.length() > 0)

                 eAttach.extractFile("c:\\" + strAttachmentFileName);

                

          eAttach.recycle();

        }

}

 

这其中的attachmentFileName参数是通过EmbeddedObject的getName方法拿到的:

// getName returns a String value containing the name

// used to reference an object that was embedded programmatically.

String strAttachmentObjectName =

   eAttach.getName();

而不是通过getSource()拿到的。当一封邮件中同时存在多个重名附件时,getName()和getSource()就不一样了。

 


编写者


日期


关键词


郑昀@ultrapower


2005-8-1


Java Domino

 

时间: 2024-12-31 11:49:19

[Domino]Java访问Domino邮件代码片断[4]下载某一封邮件中的指定附件的相关文章

[Domino]Java访问Domino邮件代码片断[1]

[Domino]Java访问Domino邮件代码片断 编写者 日期 关键词 郑昀@ultrapower 2005-6-20 Java Domino   得到用户收件箱中的邮件 三个知识点: 1:如果是打开mailfile数据库后直接 Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); DocumentCollection dc = dbMail.g

[Domino]Java访问Domino邮件代码片断[3]

[Domino]Java访问Domino邮件代码片断[3] 编写者 日期 关键词 郑昀@ultrapower 2005-7-1 Java Domino   转发用户收件箱中的某一封邮件 3个知识点: 1:需要通过noteID来定位该邮件: Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); Document doc = dbMail.getDocu

[Domino]Java访问Domino邮件代码片断[2]

[Domino]Java访问Domino邮件代码片断[2] 编写者 日期 关键词 郑昀@ultrapower 2005-6-21 Java Domino   回复用户收件箱中的某一封邮件 2个知识点: 1:需要通过noteID来定位该邮件: Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); Document doc = dbMail.getDoc

[Domino]Java访问Domino必需配置的服务器设置

[Domino]Java访问Domino必需配置的服务器设置 编写者 日期 关键词 郑昀@ultrapower 2005-6-30 Java Domino Configuration 应用场景 我们需要通过Java远程访问IBM Lotus Domino R6和R5服务器,从中获取用户邮箱的邮件信息等关键数据.我们不需要提供每一个用户密码以及ID文件. 我们的具体做法是,通过Domino ORB,来使得Domino Server与Java远程交互,双方使用IIOP来交互和交换对象数据. 访问的D

《Adobe Flash CS5 ActionScript 3.0中文版经典教程》——1.3 使用代码片断添加ActionScript

1.3 使用代码片断添加ActionScript Flash影片主时间轴上的任意一个关键帧以及影片剪辑元件里的任意一个关键帧,都可以添加ActionScript代码.在编译后的Flash项目的播放过程中,当播放到某一帧时,如果其中包含代码,它们就会被执行. Flash里所有时间轴上的代码都在"动作"面板里编写,从Flash里的"窗口"菜单中可以打开它,或者按F9键(Windows)或Option+F9组合键(Mac). 在后面的课程里还会介绍如何在外部ActionS

javaweb-在linux服务器上重新发布java项目运行的代码不是最新的

问题描述 在linux服务器上重新发布java项目运行的代码不是最新的 我在方法中加了print打印,重新编译后在本机运行可以打印出来内容,但是把class文件重新部署到服务器上就不行了,tomcat也重启了,服务器也reboot了,项目也重新部署了几次,但是执行的代码不是最新的,控制台也没输出打印的内容 解决方案 服务器不要有print输出语句,你想看结果就用日志,服务器不推荐用print

[Domino]如何用java远程访问Domino邮箱数据

[Domino]如何远程访问Domino邮箱数据 编写者 日期 关键词 郑昀@ultrapower 2005-6-9 Domino Notes Java DIIOP IOR CORBA Eclipse   应用场景 我们需要远程访问IBM Lotus Domino R6服务器,从中获取用户邮箱的邮件信息等关键数据.我们不需要提供每一个用户密码以及ID文件. 技术关键词 Java: Java 和 Lotus Notes/Domino 是理想的开发组合. DIIOP: IIOP,是Internet

[Domino]“java.lang.ClassCastException:lotus.domino.cso.Item”异常解决办法

[Domino] "java.lang.ClassCastException:lotus.domino.cso.Item" 异常解决办法 编写者 日期 关键词 郑昀@ultrapower 2005-6 Java Domino RichTextItem   现象 通过Domino的Document.getFirstItem("Body")是可以获取当前邮件的Body字段,并试图直接转换为RichTextItem类型,从而访问该邮件的附件. 但是,有时候这个转换得到了下

起点R3使用JAVA获取Domino数据(上篇)

问题描述 LotusDomino作为一种全球领先的协作.消息传递和Web支持软件,正在迅速地在中国企事业推广.Domino已经成为帮助每个人更灵活和更高效地工作的强大支持.如何从DOMINO数据库中获取数据,使这些数据为其他系统可用,已经成为许多企业迫切需要解决的问题.然而domino不同于普通的关系型数据库,由ibm/lotus自主研发,有自己的标准和特殊性,是一种另类的数据库类型.开发具有访问DOMINO服务器的应用程序的方法有许多种,但是普遍存在的问题是功能有很大的局限性,都要在依赖于lo