2

複数のファイルをアップロードするために使用したいフラッシュアップロードコンポーネントがあります。私はMVCアプリケーションでそれを使用しています。ユーザーがアップロードするファイルを選択してアップロードし、アップロードしたすべてのファイルを示すページを表示して、説明を追加して選択できるようにしますファイルを保存する場所とファイルを保存します。フラッシュアップローダーとASP.net MVC

ファイルがアップロードされる瞬間、フラッシュコンポーネントはファイルを処理するためにコントローラを呼び出します。このビットはうまく動作し、アップロードされたファイルを取得して、好きなことをすることができます。問題は、コントローラーがコントローラを呼び出すので、コントローラーがそのページを操作していないので、コントローラーがその作業を完了したら、Viewにリダイレクトできないということです。

私はセッションでファイルを保存しようとしていましたが、Flashのアクションスクリプトでいくつかのコードを使ってアップロードが完了したらユーザーを転送しましたが、これはうまくいかず、セッションは常にnullになります。私は実際に一時的な場所にファイルを保存することを考えていましたが、一時的な場所にあるすべてのファイルを一覧表示するだけのページを表示していましたが、これはファイルを一時ディレクトリに2回保存してから実際の場所ユーザーはそれらを置くことを望みますが、私はそれが遅いと想定します。

これを行う最善の方法についてのご意見はありますか?

答えて

0

あなたのサイトはCookieベースの認証を使用していますか?そうであれば、フラッシュアップローダはアップロード時に認証クッキーを含める必要があります。そうしないと、アップロードは新しいユーザーからのものとみなされます。これは、セッション状態のヌル値を説明します。クッキーを投稿するためのフラッシュを取得できない場合は、アップロードURL内のユーザーを特定する必要があります。

セッションの状態を最小限に保つか、まったく使用しないでください。イメージなどの大量のデータを格納するのは悪い考えです。

私たちのアプリケーションでは、アップロードされたすべてのファイルをデータベースに保存し、一意のGUidを与え、後で検索/表示するために使用します。データベース内でイメージをユーザーに関連付けることができ、アップロードされたとしてマークされるため、ユーザーを追加の情報ページにリダイレクトするときに表示するイメージを知ることができます。

が、これはその後、一度 tempディレクトリにし、ユーザーがファイルに関連して、彼らに

を置くことを望んでいる実際の 場所に、 は二回ファイルを保存関与しようとしていますサーバー上に保存されているため、ユーザーはファイルの保存先を決定できません。