“Xpages扩展库”对话框中的“文件上载”

时间:2014-07-07 18:02:02

标签: file-upload dialog xpages

是否有文件上传/下载才能在扩展库对话框中工作? 文件卸载控件似乎可以工作,但从不将文件存储在文档中。对话框中的其他控件(inputtext,computed和dates)可以正常工作 THX

3 个答案:

答案 0 :(得分:0)

您的Domino服务器版本是什么?如果它低于9.0.1文件上传不能通过部分刷新完成,那么它是不可能的。在9.0.1中,您可以使用部分刷新运行文件上载,因此可能是可行的。

答案 1 :(得分:0)

我没有代码可以给你YET ...但是在白天工作中我们使用PLUpload而不是内置控件。您可以在标准XPages对话框中输出PLUload。它连接到一个XAgent,其代码片段如下: http://openntf.org/XSnippets.nsf/snippet.xsp?id=custom-xpage-file-upload-handler
可能是你正在寻找的东西。我目前正在使用SSJS版本,但希望迁移到Java版本。 然后,我有代码来处理上传并将它们移动到另一个数据库,并调整jpg&s和东西的大小。 一个完整的例子将在MWLug(2014)用户组会议上展示,并将很快进入NotesIn9。我还没准备好所有代码示例。但PLUpload与该片段应该是一个良好的开端。

答案 2 :(得分:0)

这是可能的。

以下代码适用于9.0.1服务器。不确定9.0.1之前的版本:使用文件上载进行部分刷新是9.0.1中引入的一项功能。提示:如果在对话框中包含验证,则仅部分刷新对话框不起作用:您需要刷新包含对话框的元素。

<xp:text
    escape="true"
    id="computedField1"
    value="#{javascript:@Now().getTime()}">
</xp:text>

<xp:button
    value="show dialog"
    id="button1">
    <xp:eventHandler
        event="onclick"
        submit="true"
        refreshMode="partial"
        refreshId="dialog1">
        <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").show();}]]></xp:this.action>
    </xp:eventHandler>
</xp:button>

<xe:dialog
    id="dialog1"
    title="Look. I'm a dialog!">

    <xp:panel>
        <xp:this.data>
            <xp:dominoDocument
                var="document1"
                formName="fUpload">
            </xp:dominoDocument>
        </xp:this.data>
        <xe:dialogContent
            id="dialogContent1">

            Pick a file:

            <xp:fileUpload
                id="fileUpload1"
                value="#{document1.files}"></xp:fileUpload>

        </xe:dialogContent>

        <xe:dialogButtonBar
            id="dialogButtonBar1">

            <xp:button
                value="Save"
                id="button2">
                <xp:eventHandler
                    event="onclick"
                    submit="true"
                    refreshMode="partial"
                    refreshId="dialog1"
                    immediate="false"
                    save="true"></xp:eventHandler>
            </xp:button>

        </xe:dialogButtonBar>

    </xp:panel>
</xe:dialog>