2012-11-26 41 views
0

背景:一個xpage綁定到document1。在此xpages是一個包含多個選項卡的選項卡式表格。每個選項卡都包含綁定到其他數據源(包括document2)的面板。 Document2創建併成爲document1的子項。在每個面板中都有一張表格,允許用戶創建新文檔以及兩個視圖控件。一切都很好...直到...Xpages文件上傳控件什麼都不做

問題:我被要求添加一種方法將附件上傳到子文檔。我首先在名爲「ScannedInvoice」的綁定文檔上創建了一個富文本字段。然後,我從核心控件創建一個文件上傳控件,並將其綁定到document2/ScannedInvoice。按規則,我只想要一個附件,否則我會考慮openNTF上傳控件。

我無法弄清楚爲什麼當我上傳文件並創建一個新文檔時爲什麼在後端沒有任何東西出現。其他一切正常,但ScannedInvoice字段中沒有附件,也沒有附加到文檔的$ FILE字段。

在此先感謝您的任何提示。我已經搜索了很多,並沒有找到任何答案。 - 史蒂夫

<xp:fileUpload id="fileUpload1" 
    value="#{document2.ScannedInvoice}" useUploadname="false" 
    style="font-size:8pt" filename="scannedinvoice.jpg" 
    mimetype="image/jpeg"> 
</xp:fileUpload> 

注意:Invoice表單上的ScannedInvoice字段是富文本。

保存按鈕的代碼:document2.save() Document2具有scope = request和ignoreRequestParam = true。這些都必須像這樣設置才能工作。 parentID =#document1.getNoteID()

+0

你上傳後保存子文件嗎?取決於你的設置,如果你通過unid初始化子文檔,它可能總是從數據庫中檢索,所以在內存文檔中(上傳去的地方)可能會被丟棄。 –

+0

是的,文件被保存。該按鈕將用戶輸入的字段保存到子項中,並將父項的字段保存到子項中。你是說上傳在內存中「丟失」,即使它被綁定到子文檔。我是否需要編寫SSJS來強制上載到子文檔? –

+0

取決於bindig。請通過添加源代碼片段來更新您的問題。 –

回答

7

文件上傳需要全面刷新頁面才能夠上傳文件。確保你這樣做。

======================================

更新的Domino 9.0。 1支持局部刷新上傳

+0

謝謝!我還沒有嘗試過,但我看到的每個例子都是這樣。不好的事情是這件事攪亂了我想要完成的一切。在我上次演示會議中,我補充了一下現代的一切,看起來不在屏幕上閃爍。好吧。 –

+1

解決方法是將上載放入iframe中,但只有在您要將附件保存到單獨的文檔時纔有效。 –

+0

實際上,您可以將它保存到同一個文檔中,並在數據源上設置強制模式,但它存在風險,如果您保存了一次文檔,它就會起作用。 –