2016-06-13 20 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

但像花花公子提出一个更好的解决办法是做你的验证和保存在同一个请求。并且在这个单一的请求中给予成功,或者对你的用户失败+消息响应。

相关问题