繁体   English   中英

如何将多个文件上传到XPages中的不同文档中?

[英]How to upload multiple files into different documents in XPages?

我需要使用5个不同的文件上传控件同时最多上传5个文件,并且所有文件都需要存储在单独的注释文档中。 应该只有一个保存按钮

因此,如果我上传5个文件并保存,则应该有5个Notes文档,每个文件包含1个文件

我怎样才能做到这一点?

我还没有从MWLug中清理足够的东西-我的解决方案是fileVault,您可以在这里获取。 https://bitbucket.org/leedy/filevault存储库中有幻灯片,但我还没有真正的文档。 下一步将是即将推出的NotesIn9视频。

这是PLupload和Java的组合,因此允许上传多个文件,这些文件在一系列Vault数据库中每个文档可保存1个文件。 JPG有3个数据库(原始,大和小),其他文件有1个.nsf。

我根本不使用内置的文件上传或下载控件。 因此,如果您真的想要,可以忽略此。

我那里有一些用于显示图片和文件的自定义控件,以及灯箱自定义控件-Galleria。

我们目前在生产中使用此功能,但此版本可能会使用更多清理和文档功能。 但欢迎您尝试。

该存储库具有最适合使用的原始资源,但如果更容易的话,它也具有已编译的模板。

祝好运

创建一个包含5个面板的xpage,并使用ignoreRequestPatams = false将每个面板绑定到不同的文档数据源。

每个面板中都有文件上载和下载控件。 为更改时上传文件选择完全更新。

在所有5个面板顶部的创建保存按钮以保存所有5个数据源。

我找到了一种似乎可行的解决方案。 我重复放置了文档数据源和文件上载控件,然后使用链接保存所有数据源。 我将重复次数设置为5,这将创建5个文档。

在数据源上的postSaveDocument中,我删除了不包含附件的一次

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:panel>
    <xp:repeat id="repeat1" rows="30" value="#{javascript:5}">
        <xp:panel>
            <xp:this.data>
                <xp:dominoDocument var="d" formName="Main">
                    <xp:this.postSaveDocument><![CDATA[#{javascript:if(@AttachmentLengths()==0){
d.getDocument().remove(true)
}}]]></xp:this.postSaveDocument>
                </xp:dominoDocument>
            </xp:this.data>
            <xp:fileUpload id="fileUpload1" value="#{d.Body}"></xp:fileUpload>
        </xp:panel>
    </xp:repeat>
</xp:panel>
<xp:link escape="true" text="Save" id="link1">
        <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:save(true)}]]></xp:this.action>
        </xp:eventHandler>
</xp:link>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM