Xpages将附件从文档发送到另一个
我有一个正在为扫描仪工作的文档。扫描仪向我的数据库发送一封电子邮件,并且从视图中可以访问该文档并查看附件和主题。Xpages将附件从文档发送到另一个
有没有一种方法可以使用附件并将其放入另一个文档?我设法使用sessionScope发送主题丰富的文本,但它不与附件一起工作。
在目标文档中我有一个fileDownloader。
这将是最好的方式来做到这一点?
使用NotesRichTextItem的appendRTItem()
方法:
- 阅读原体项目进入NotesRichTextItem
- 新文档中创建一个新的NotesRichTextItem
- 原NotesRichTextItem追加到新创建的
这也复制RichText中包含的所有附件。
实施例:
var docOrig:NotesDocument = ...;
var docNew:NotesDocument = database.createDocument();
docNew.replaceItemValue("Form", "Test");
var bodyOrig:NotesRichTextItem = docOrig.getFirstItem("Body");
var bodyNew:NotesRichTextItem = docNew.createRichTextItem("Body");
bodyNew.appendRTItem(bodyOrig);
docNew.save();
实施例2:
嵌入在与数据源 “文档1” 一个XPage的按钮相同的代码。按钮
- 将创建表“测试”一个新的文档,
- 副本富文本项目“身体”与当前文档“文档1”到新文档的所有附件和
- 打开一个XPage“测试。 XSP”为新创建的文档
<xp:button
value="Create and open new document with a copy of current document's item Body"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="complete">
<xp:this.action>
<xp:openPage
name="Test.xsp"
target="editDocument">
<xp:this.documentId><![CDATA[#{javascript:
var docOrig:NotesDocument = document1.getDocument();
var docNew:NotesDocument = database.createDocument();
docNew.replaceItemValue("Form", "Test");
var bodyOrig:NotesRichTextItem = docOrig.getFirstItem("Body");
var bodyNew:NotesRichTextItem = docNew.createRichTextItem("Body");
bodyNew.appendRTItem(bodyOrig);
docNew.save();
return docNew.getUniversalID();}]]></xp:this.documentId>
</xp:openPage>
</xp:this.action>
</xp:eventHandler>
</xp:button>
为前提两个例子:附件必须在当前文档的项目‘身体’。
我打开一个带有按钮打开页面事件的新文档,不需要使用'database.createDocument()'创建一个文档,如何从上一页保存正文并将其带入新页面? – 2014-11-05 11:24:23
而我已经有了RichText字段。 – 2014-11-05 11:46:52
您可以使用Knut的代码来复制rtItem并保存文档(以获得单一的)。使用unid,您可以使用“打开页面简单操作”来编辑文档 – poisonedYouth 2014-11-05 12:46:22
如何创建目标文档?它是否没有源文件? – poisonedYouth 2014-11-04 12:40:01
是的,它不在源文档中。 – 2014-11-04 12:56:44
你想打开目标文件还是仅仅用于保存数据? – poisonedYouth 2014-11-04 13:04:12