2009-04-21 43 views
1

我有一個包含FileUpload控件的頁面之一的Wizard控件。我想在嚮導最後一頁的位置訪問文件流,但這似乎不起作用。ASP.NET FileUpload控件不能在嚮導控件中工作

據我所見,您只能訪問使用控件後立即發生的回發上的發佈文件的文件流。由於該文件最終會放入數據庫記錄中,因此我現在可以將其保存起來,但如果可能的話,我寧願避免這種情況。

有沒有人知道這個問題的解決方法?

回答

3

我自己沒有使用過這個控件,但是因爲它基於HTML標準的INPUT控件,所以我認爲你不得不在收回後處理該控件的文件時收到該文件。

避免這種情況的難點在於如何從本地文件系統對沙盒進行有效的沙盒操作時從客戶端系統中提取文件,因此需要進行上傳控制。

我建議您將文件存儲到您的數據庫blob(或作爲文件系統上的臨時文件,可能需要一個唯一的文件名;我發現一個GUID很好地工作),然後使用Session對象來保留該引用過程的結束。我能想到的唯一另一種替代方案並不涉及主要工作,那就是將文件上傳移動到嚮導的最後一頁。

2

您可以使用CSS/jQuery顯示您的個人嚮導階段託管的客戶端,而不是將POST張貼回服務器?這樣,您唯一的POST(導致上傳)將位於嚮導的末尾。

+0

良好的橫向思維,很好的答案。 – Lazarus 2009-04-21 12:55:56