2014-05-20 58 views
0

我想讓我的文件上傳代碼可選。此代碼返回由用戶處理的null reference exception文件上傳可選值

如何使其成爲可選的,如果用戶不選擇文件的空值應提交給數據庫?

這裏是控制器:

[HttpPost] 
public ActionResult Create(AdulLiteracyTeachers adulliteracyteachers, HttpPostedFileBase[] files) 
{ 
    if (files.Length != null) 
     foreach (HttpPostedFileBase file in files) 
     {  
      string path = System.IO.Path.Combine(Server.MapPath("~/Content/Uploads/"), System.IO.Path.GetFileName(file.FileName)); 
      if (System.IO.File.Exists(path)) 
      { 
       ViewBag.Message = "File(s) Already Exist"; 
       this.ModelState.AddModelError("", "Image with this Name Already Exist"); 
       ViewBag.Error = TempData["Image with this Name Already Exist"]; 
      } 
      else 
      { 
       file.SaveAs(path); 
       adulliteracyteachers.Image = file.FileName; 
      } 
      if (ModelState.IsValid) 
      { 
       db.AdulLiteracyTeachers.Add(adulliteracyteachers); 
       db.SaveChanges(); 
       return RedirectToAction("Create"); 
      } 
     } 

    ViewBag.DistID = new SelectList(db.Districts, "DistID", "DistName", adulliteracyteachers.DistID); 
    return View(adulliteracyteachers); 
} 
+0

仍然得到了pRoblem對象引用未設置爲對象的實例。空引用異常由用戶解除 –

回答

1
if(files != null && files.length > 0) 

是錯誤的,因爲文件對象爲空。

+0

我共享了更多的代碼,但仍然有錯誤 –