双文件上传在ASP.NET中使用jQuery的阿贾克斯多文件上传MVC
问题描述:
当我使用了多个上传此代码jQuery
ajax
在ASP.NET
MVC
:双文件上传在ASP.NET中使用jQuery的阿贾克斯多文件上传MVC
public ActionResult GetFiles(HttpPostedFileBase NewsFilePath)
{
if (NewsFilePath != null)
{
var files = Session["Files"] == null ?
new List<HttpPostedFileBase>() :
(List<HttpPostedFileBase>)Session["Files"];
files.Add(NewsFilePath);
Session["Files"] = files;
}
return Content("");
}
,但我有问题,此代码。
- 当我上传一个文件,一个文件存储到会话
- 当我上传两个文件,4个文件被存储到会话
- 当我上传三个文件,6个文件被存储到session
问题是什么?
答
使用.Distinct()
而分配的文件到Session
public ActionResult GetFiles(HttpPostedFileBase NewsFilePath)
{
if (NewsFilePath != null)
{
var files = Session["Files"] == null ?
new List<HttpPostedFileBase>() :
(List<HttpPostedFileBase>)Session["Files"];
files.Add(NewsFilePath);
Session["Files"] = files.Distinct();
}
return Content("");
}
希望,这将解决你的问题,如果没有,下面发表评论。
你是一个接一个地连接它还是选择所有并多次调用getfiles? – Amit
您似乎总是添加到存储在会话中的“文件”列表中。所以这份名单会越来越大。 –
@Amit一个接一个 – Kianoush