任何人都可以告诉如何处理莲花笔记中的内嵌图像

时间:2014-01-22 10:23:23

标签: lotus-notes lotus-domino lotus domino-designer-eclipse

大家好我正在通过java发送一封莲花笔记的电子邮件。我可以发送一封电子邮件。对于外部附件,我正在构建一个富文本项目。但我没有得到如何处理内联附件,如邮件正文部分内的图像。 这是我正在使用的代码。谢谢

                Document doc = null; 
            RichTextItem rti = null;
            try{
                doc = db.createDocument();
                doc.replaceItemValue(ServiceConstants.FROM,getFrom() );
                doc.replaceItemValue(ServiceConstants.FORM, getForm());
                doc.replaceItemValue(ServiceConstants.SUBJECT, getSubject());
                doc.replaceItemValue(ServiceConstants.SENDTO,asVector(getSendTo()));
                doc.replaceItemValue(ServiceConstants.COPYTO,asVector(getCopyTo()));
                doc.replaceItemValue("Principal",getFrom());
    rti = doc.createRichTextItem(ServiceConstants.BODY);
                rti.appendText(getBody());
                if ((getAttachment() != null) && (getAttachment().length > 0)) {
                    for (int i=0; i<getAttachment().length; i++)    {
                        getAttachment()[i].save(rti);
                    }
                }   
                doc.save();
                if (send) {
                    doc.send();
}

1 个答案:

答案 0 :(得分:3)

NotesRichTextItem类的功能相当有限。有一个名为MIDAS的第三方API来自一家名为Genii Software的公司,它功能更强大,可以为您提供所需的功能,但它是商业软件,通常用于LotusScript。我甚至不确定Genii是否支持Java。

也就是说,另一种方法是使用NotesMIMEEntity类而不是NotesRichTextItem。要在MIME中执行内嵌图像,您需要创建一个包含多部分/相关实体的多部分/混合实体,其中包含text / html和image / gif(例如,如果这是图像的类型)实体,其中图像实体具有Content-disposition:Embedded; filename = xxx,text / html体内的标签将使用“src = cid:xxx”格式来引用图像实体。