2017-02-21 53 views
-1

當我使用了多個上傳此代碼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

回答

0

使用.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