2009-04-21 11 views
1

FileUploadコントロールを含むページの1つでウィザードコントロールを使用しています。私はウィザードの最後のページの時点でファイルストリームにアクセスしたいが、これはうまくいかない。ASP.NET FileUploadコントロールがウィザードコントロール内で機能しない

私が見る限り、ポストバック時には、コントロールを使用した直後にポストバックされたファイルのファイルストリームにしかアクセスできません。ファイルが最終的にDBレコードに格納されるので、私はこの時点でそれを保存することができますが、可能であればこれを避けることをお勧めします。

この問題の回避策を知っている人はいますか?

答えて

3

私はこのコントロールを自分で使用していませんが、HTML標準のINPUTコントロールをベースにしているため、そのコントロールを処理するポストバックでファイルを受け取らなくてはいけないと思います。

これを回避することの難しさは、ローカルファイルシステムから効果的にサンドボックス化されたときにクライアントシステムからファイルをプルする方法にあります。したがって、アップロード制御が必要です。

ファイルをDBのblobに保存することをお勧めします(または、ファイルシステムの一時ファイルとして、おそらく一意のファイル名が必要です; GUIDがうまく動作することがわかります)。プロセスの終わり。私が考えることができる他の唯一の方法は、ファイルアップロードをウィザードの最後のページに移動することです。

2

POSTをサーバーに戻すのではなく、CSS/jQueryを使用して個々のウィザードのステージをクライアント側で管理することができますか?そうすれば、唯一のPOST(アップロードの結果)はウィザードの最後に表示されます。

+0

良い横向きの考え、素敵な答え。 – Lazarus

関連する問題