Xpages 将附件添加到xpage

Xpages 将附件添加到xpage,xpages,Xpages,我有一个带有数据源的XPage附在notes文档上。在这个XPage上,我有一个按钮,用于调用托管bean中的方法。此方法从另一个notes数据库检索notes文档。此notes文档在richtext字段中有一些附件。这些附件应复制到我的XPage。 有没有办法做到这一点? 我知道如何从notes文档中检索附件。但是如何将它们附加到我的XPage? 对于我的任务,我不能使用文件上传控件,因为“文件上传”应该在我的管理bean中自动发生。 我找到了一些可以完成我任务的调用Attachment

我有一个带有数据源的XPage附在notes文档上。在这个XPage上,我有一个按钮,用于调用托管bean中的方法。此方法从另一个notes数据库检索notes文档。此notes文档在richtext字段中有一些附件。这些附件应复制到我的XPage。 有没有办法做到这一点? 我知道如何从notes文档中检索附件。但是如何将它们附加到我的XPage? 对于我的任务,我不能使用文件上传控件,因为“文件上传”应该在我的管理bean中自动发生。
我找到了一些可以完成我任务的调用AttachmentHolderValue的东西,但不幸的是,没有此类的文档。

好的,对于donwload显示,您可以使用如下代码:

<xp:this.data>
    <xp:dominoDocument var="yourNewDocument"></xp:dominoDocument>
</xp:this.data>

<xp:panel>
    <xp:this.data>
        <xp:dominoDocument ignoreRequestParam="true" var="download" action="openDocument"
            databaseName="otherDatabase" documentId="calculated">
        </xp:dominoDocument>
</xp:this.data>
    <xp:fileDownload rows="30" id="fileDownload1"
        displayLastModified="false" value="#{download.richTextItem}">
    </xp:fileDownload>
</xp:panel>

这会将其他数据库中的文档添加为dominoDocument数据源,您可以使用该数据源将
绑定到

然后,您可以添加一些内容来选择要复制到新文档中的附件,我建议您使用repeatcontrol并使用它,如下所示:

    <xp:repeat id="repeat1" rows="30"
        value="#{javascript:download.getAttachmentList('richTextItem');}"
        var="attachment">
    <xp:panel>
        <xp:label value="#{javascript:attachment.getName() }" id="label1"></xp:label>
        <xp:br></xp:br></xp:panel></xp:repeat>

除了标签,你可以添加一个复选框,在onSave事件中,你可以运行一些代码,将所选元素复制到新文档中(必须在我的应用程序中查找)


您可以使用
NotesDocument.copyAllItems()
或将附件保存到服务器磁盘,并使用
ritem.embedObject
将其添加到新文档的richTextItem中。但是我建议在我的到期日在后端复制附件。处理附件可能是一个非常棘手的部分。

如果您的意思是“这些附件应复制到我的XPage”,则可以在文档之间复制附件。否,我的意思是,我想将附件从后端文档复制到前端文档。这些是不同的java类(后端是“Document”,前端是“DominoDocument”),好的,但是在前端有了它之后该怎么办呢?您想下载它还是想转换/使用它?我有一个应用程序,我必须将附件从一个文档拆分为单独的文档。(每个文档1个)我不在前端执行此操作。另一个应用程序从另一个数据库=>文档向视图中添加可下载的附件,该视图不需要复制我的附件。在前端,它应该显示在下载控件中。当前端保存时,复制的附件应与文档一起保存。不幸的是,我不能使用任何后端操作,因为如果用户取消操作,则不应在数据库中保存任何文档。因此,我需要一种在前端(即XPage)完成任务的方法。我想AttachmentHolderValue可能是一个很好的选择。你知道如何使用这个类吗?很抱歉,AttachmentHolderValue从未成功过,所以我总是转向其他解决方案,我看不出使用ItemCopy或ritem.EmbedderObject有什么问题。为什么不在保存文档时进行复制。对于用户来说,在创建文档时,如果您向他显示他为复制过程选择的文件并在“保存”按钮中进行复制,则不会有任何区别。