如何检查文件上传字段是否为null,然后保存不带文件的数据?

问题描述

我需要保存带有产品图片的产品,但有时我没有产品图片,我需要保存没有图片名称的产品,但是当我没有选择图片并尝试保存时,我得到的错误对象引用未设置为实例一个对象 这是创建动作代码

[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create(HttpPostedFileBase file,[Bind(Include = "order_id,hospital_id,department_id,employee_id,status_id,order_details,user_id,order_date,update_date,deleted_date,file")] hospital_orders hospital_orders)
        {
            if (ModelState.IsValid)
            {
                hospital_orders.file = file.FileName;
                db.hospital_orders.Add(hospital_orders);
                db.SaveChanges();

                // uploaf file

                if (file.ContentLength > 0)
                {
                    
                    file.SaveAs(Server.MapPath("/upload/" + file.FileName));
                }
                
                return RedirectToAction("Index");
            }

            return View(hospital_orders);
        }

我需要检查fileName是否为空,然后保存不带文件

hospital_orders.file = file.FileName;

该怎么做?

解决方法

如果HttpPostedFileBase包含null(即,未选择文件),如何将文件名传递给模型。 在此行之前,“ hospital_orders.file = file.FileName;”检查您的空条件。 这样做吧。

if(file !=null)
    hospital_orders.file = file.FileName;
  db.hospital_orders.Add(hospital_orders);
  db.SaveChanges();