双文件上传在ASP.NET中使用jQuery的阿贾克斯多文件上传MVC

问题描述:

当我使用了多个上传此代码jQueryajaxASP.NETMVC双文件上传在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

问题是什么?

+0

你是一个接一个地连接它还是选择所有并多次调用getfiles? – Amit

+0

您似乎总是添加到存储在会话中的“文件”列表中。所以这份名单会越来越大。 –

+0

@Amit一个接一个 – Kianoush

使用.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(""); 
    } 

希望,这将解决你的问题,如果没有,下面发表评论。

+0

它不起作用。这段代码仍然有问题 – Kianoush

+0

好吧,让我改变逻辑,我会在一段时间后更新答案。 –

+0

嗨男。你发现解决问题?我可以找到。 – Kianoush