2016-06-13 15 views
2

ポップアップ表示角度JS + MVCプロジェクトでExcelファイルをアップロードしている間、私はASP.Net MVC - 同時リクエスト中にMVCコントローラに安全な方法で値を格納する方法は?

// DEFINE THE PATH WHERE WE WANT TO SAVE THE FILES. 
string sPath = ""; 

sPath = WebConfigurationManager.AppSettings["UploadFilePath"]; 

System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files; 

を経由して、現在アップロードされたファイルを取得します。しかし、この検証が行われた後、それが成功した場合、ユーザーは、確認が表示されます。ユーザーがその上で送信をクリックすると、ファイルは物理的な場所に保存されます。

しかし、私はファイルにアクセスできません。前のリクエストのファイルを保持する方法。

System.IO.File.Copy(filePath, Server.MapPath("~/Uploads")); 

しかし、私は今は持っていません。どのように目的の機能を達成し、ファイルを保存するには?

スレッドセーフな方法で変数に格納する必要がありますか?

+2

1回のリクエストで検証+アップロードができないのはなぜですか? – Dandy

+0

天気に関係なくファイルを保存していないのはなぜですか? DBにファイルパスを保存すると、削除が必要な場合は後で行うことができます。それ以外の場合は、ファイルをかなりの時間メモリに保存します –

答えて

0

あなたはSystem.IO.Path.GetTempPath()

あるいは、HttpContext.Cache

を使用することができます。しかしダンディが示唆のようにより良い解決策は、あなたの検証を行うと、同じリクエストに保存することです。その1回のリクエストの中で、あなたのユーザに成功を返すか、失敗+メッセージの返答を返します。

関連する問題