如何在没有会话的CRUD . net MVC中保持异步上传的文件
本文关键字:异步 文件 MVC net CRUD 会话 | 更新日期: 2023-09-27 18:05:32
我有一个CRUD,用户可以异步上传一些文件…
所以我有两个POST动作:一个用于上传(我将文件保存在磁盘上),另一个用于保存crud实体。
[HttpPost]
public ActionResult SaveFile(HttpPostedFileBase file)
{
// Save file on disk
// Save the name and other file info on session (?!?)
}
[HttpPost]
public ActionResult Create(MyViewModel vm)
{
// Check the file info on Session
// Save Entity with file(s) associated
}
我使用Session来保存两个post之间的文件信息。但是,我有问题使用几个标签在同一时间。我讨厌使用session…
对于这个问题有更好的选择吗?
我看到一些人在控制器上使用静态变量(http://damienbod.wordpress.com/2013/09/03/mvc-async-file-upload/)。这是一个好方法吗?
谢谢
您必须决定要将这些文件与什么相关联。会话将是当前浏览会话。
听起来你希望文件与当前加载的表单相关联,而不是其他。在这种情况下,创建表单时创建GUID,将其作为隐藏输入加载,然后将GUID保存在文件中。
如果用户重新加载表单,他们将获得一个新的GUID,因此任何以前上传的文件都不会与新表单相关联。但是,如果您不希望文件跨选项卡关联,这听起来像是您想要的。