1
保存我當前的XPages後,在數據源的postNewDocument事件中,我將在後端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我「身體「這是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);
我已經使用這個解決方案...但我有小問題...按照我的更新 –
我實際上在同一個東西stucked我有接管名稱和其中的文件我想要那個特別的證明文件附在理事會文件中。 –