2014-07-07 18 views
0

有沒有辦法讓文件上傳/下載在擴展庫對話框中工作? 文件卸載控制似乎工作,但從不將文件存儲在文檔中。對話框中的其他控件(輸入文本,計算和日期)正常工作 Thx在Xpages擴展庫對話框中上傳文件

+0

不要使用對話框,使用內聯形式 – stwissel

+1

看到這個答案(並要求克里斯·圖希讓他回內容在線):http://stackoverflow.com/a/9516238/785061 –

回答

0

什麼是您的Domino服務器版本?如果它低於9.0.1,文件上傳不能通過局部刷新完成,所以這是不可能的。在9.0.1中,您可以通過部分刷新運行文件上傳,因此可能是可行的。

0

我沒有代碼給你,但是在日常工作中,我們使用PLUpload而不是內置的控件。您可以在標準的XPages對話框中輸出PLUload。它被連接到一個XAgent,其代碼片段如下: http://openntf.org/XSnippets.nsf/snippet.xsp?id=custom-xpage-file-upload-handler
可能是你要找的。我目前正在使用SSJS版本,但將會遷移到Java版本。 然後我有代碼來處理上傳並將它們移動到另一個數據庫,並調整JPG和東西的大小。 一個完整的例子將在MWLug(2014)用戶組會議上提出,並且很快也會提供給NotesIn9。我只是沒有準備好所有的代碼示例。但是使用該片段的PLUpload應該是一個好的開始。

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> 

+0

對於任何人將其複製到新的xpage進行測試,請確保您添加名稱空間聲明[xmlns:xe =「http://www.ibm.com/xsp/coreex」],否則您將得到錯誤'元素「xe:dialog」的前綴「xe」未被綁定。 – alt