2016-06-13 17 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")); 

但filePath我現在沒有。如何實現所需的功能並保存文件?

我是否需要以某種線程安全的方式將它存儲在某個變量中?

+2

爲什麼你不能做到這一點,即驗證+上傳一個請求? – Dandy

+0

爲什麼不保存文件,而不考慮它被驗證的天氣?將文件路徑存儲在數據庫中,如果需要刪除它,則可以在之後進行,否則將在相當長的一段時間內將文件存儲在內存中 –

回答

0

你可以使用System.IO.Path.GetTempPath()

或者,HttpContext.Cache

但像花花公子提出一個更好的解決辦法是做你的驗證和保存在同一個請求。並且在這個單一的請求中給予成功,或者對你的用戶失敗+消息響應。

相關問題