【发布时间】:2014-02-18 15:33:03
【问题描述】:
保存我当前的 XPage 后,如果 postNewDocument of datasources..我会在后端 Domino 文档中即时复制,而不用从另一个文档保存磁盘附件,我找到了这个解决方案:
var attachments:java.util.Vector = session.evaluate("@AttachmentNames", docReply);
for (var i = 0; i < attachments.size(); i++) {
embeddedObj = docReply.getAttachment(attachments.get(i).toString());
if (embeddedObj != null) {
bufferInStream = new java.io.BufferedInputStream(embeddedObj.getInputStream());
}
}
如何将每个附件流添加到当前 Domino 文档的 RichTextItem 中?
Tnx
14 年 1 月 29 日更新: Tnx 到 @Sven 我已将此代码插入到我的 PostSavedocument 事件中。 但是现在我遇到了另一个问题...似乎损坏了 MIME 我的“Body”,即 rt mime。
如果我用我的 Notes 客户端打开带有这个 RT mime 的文档,我只会看到新的附件,而不是 CKEDITOR 的原始 HTML 内容(如果我评论以下代码......工作正确)......现在我有重新编辑的问题存在 MIME 文件
session.setConvertMime(false);
var doc:NotesDocument=document1.getDocument(true);
var mimeRoot:NotesMIMEEntity=doc.getMIMEEntity("Body");
var docAttach:NotesDocument=database.getDocumentByUNID('XXXXXXXUNID'); //doc where are the attachmetns files MIME or RICHTEXT
var XSPReply=wrapDocument(docAttach); //function in Xsnippets from Opentntf.org
var listattachs=XSPReply.getAttachmentList("Body");
for (var i=0; i<listattachs.length; i++) {
var is=null;
var att = listattachs[i];
var persistentName = att.getPersistentName()==null?att.getName():att.getPersistentName();
var cid = att.getCID();
var eo:NotesEmbeddedObject = docAttach.getAttachment(persistentName);
if (null != eo) {
var child:NotesMIMEEntity=mimeRoot.createChildEntity(); //create child of original mail
var emailHeader:NotesMIMEHeader = child.createHeader("Content-Disposition");
emailHeader.setHeaderVal("attachment; filename=\"" + persistentName+ "\"");
emailHeader = child.createHeader("Content-ID");
emailHeader.setHeaderVal("<" + cid + ">");
var is = new java.io.BufferedInputStream(eo.getInputStream());
var stream:NotesStream = session.createStream();
stream.setContents(is);
child.setContentFromBytes(stream, att.getType(),NotesMIMEEntity.ENC_IDENTITY_BINARY);
}
}
doc.closeMIMEEntities(true,"Body")
doc.save()
session.setConvertMime(true);
【问题讨论】:
标签: xpages xpages-ssjs