Xpages将附件从当前文档复制到新文档
我有一个xpage,其中文档有多个附件,我想将一个选定的附件复制到新文档以进一步处理它 现在,到目前为止,我可以在NotesEmbeddedObject中获取所选附件 代码: 上面的代码工作得很完美。这意味着我现在有了附件。现在我的任务是将其复制到新文档中 我已经通过研究给出了一个尝试Xpages将附件从当前文档复制到新文档,xpages,mime-types,attachment,document,Xpages,Mime Types,Attachment,Document,我有一个xpage,其中文档有多个附件,我想将一个选定的附件复制到新文档以进一步处理它 现在,到目前为止,我可以在NotesEmbeddedObject中获取所选附件 代码: 上面的代码工作得很完美。这意味着我现在有了附件。现在我的任务是将其复制到新文档中 我已经通过研究给出了一个尝试 // in above else var doc_new_attach:NotesDocument = database.createDocument(); var mimeRoot:NotesMIMEEn
// in above else
var doc_new_attach:NotesDocument = database.createDocument();
var mimeRoot:NotesMIMEEntity=doc_new_attach.getMIMEEntity("Body");
var child:NotesMIMEEntity=mimeRoot.createChildEntity();
var is = new java.io.BufferedInputStream(attchment.getInputStream());
var stream:NotesStream = session.createStream();
stream.setContents(is);
child.setContentFromBytes(stream, attchment.getType(),NotesMIMEEntity.ENC_IDENTITY_BINARY);
事实上,我不擅长notes富文本,实现这一点的另一种方法是Document.copyAllItems(Document doc,boolean replace),而不是删除不必要的内容。但我想知道如何将所选附件复制并添加到其他文档中
任何建议都将不胜感激。
文档。copyItem(Item)
可能是您所需要的,要将指定的项目
复制到指定的文档中
从一个文档选择性地附加到另一个文档
代码:
在上面的代码中,我硬编码了“mimeType”,因为我无法从包含ActAttachment和“attchment.getType()”的文档中获取内容类型;返回“Interger”,而“mimeType”不接受它。可以帮助我获取内容类型。
否则,休息所有完美的工作,以获得并把附件,我需要从一个文件到另一个 是的,可能是文档。copyItem(项目)将帮助我从该文档中获取项目,例如通过文档。copyItem(项目),我可以从文档中获取所有附件,但实际上我只需要从该项目中选择一个附件。我得到了此问题的解决方案,请检查我发布的答案,如果我有错误,请更正我。
// in above else
var doc_new_attach:NotesDocument = database.createDocument();
var mimeRoot:NotesMIMEEntity=doc_new_attach.getMIMEEntity("Body");
var child:NotesMIMEEntity=mimeRoot.createChildEntity();
var is = new java.io.BufferedInputStream(attchment.getInputStream());
var stream:NotesStream = session.createStream();
stream.setContents(is);
child.setContentFromBytes(stream, attchment.getType(),NotesMIMEEntity.ENC_IDENTITY_BINARY);
session.setConvertMime(false);
var attachmentDoc:NotesDocument=database.getDocumentByUNID(currentDocId);
// where currentDocId is the document with all the attachments.
var attchment:NotesEmbeddedObject=attachmentDoc.getAttachment("someFile.txt");
// Just to verify
if(attchment == null){
view.postScript("alert('Attachment not Exist')");
}
else
{
var fileName = "someFile.txt";
var doc_new_attach:NotesDocument = database.createDocument();
var body:NotesMIMEEntity= doc_new_attach.createMIMEEntity(fileName);
var bodyHeader:NotesMIMEHeader = body.createHeader("Content-Disposition");
var isHeaderValSet = bodyHeader.setHeaderVal("attachment; filename=\"" + fileName + "\"");
if (!isHeaderValSet) {
throw new ComponentException("Could not set MIME header value.");
}
var is = new java.io.BufferedInputStream(attchment.getInputStream());
var stream:NotesStream = session.createStream();
stream.setContents(is);
var mimeType = "text/csv";
body.setContentFromBytes(stream, mimeType, 1730);
doc_new_attach.replaceItemValue("Form","AttachmentTesting");
doc_new_attach.save(false);
session.setConvertMime(true);
}