مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

سوال: عدم ثبت عکس در بانک اطلاعاتی

  • سه شنبه 3 بهمن 1396
  • 17:40
تشکر میکنم

سلام 
من کلاسهای زیر را نوشته ام 

   public class Brand
    {
        public Brand()
        {
            PicId=new Guid();
        }
        [Key]
        public int BrandId { get; set; }
        [Display(Name = "تصوير", Prompt = "تست1", Description = "تست2")]
        [Column(TypeName = "image")]
        public byte[] BrandImage { get; set; }
        public Guid? PicId { get; set; }
    }
public class Context:DbContext
    {
        public Context()
        {
            
        }

        public DbSet<Brand> Brands { get; set; }
    }

و کد کنترل مربوطه را هم بصورت زیر نوشته ام 

    [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create( HttpPostedFileBase imFileBase)
        {
            if (ModelState.IsValid)
            {
                if (imFileBase != null)
                {
                    var uploadFile = new byte[imFileBase.InputStream.Length];
                    imFileBase.InputStream.Read(uploadFile, 0, uploadFile.Length);
                    var brand = new Brand
                    {
                        BrandImage = uploadFile
                    };
                    db.Brands.Add(brand);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }
            }

            return View();
        }

و کد view هم بصورت زیر است


@using (Html.BeginForm("Create", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()

    <div class="col-md-12">
        <div class="col-md-2">
            <input type="file" name="Image" />
        </div>
        <div class="col-md-3">
            <input type="submit" value="ذخیره عکس" />
        </div>
    </div>
}

اما هنگام ثبت imFileBase را برابر null قرار میدهد 
مشکل کد من کجاست ایا روش دیگری هم وجود دارد 

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • سه شنبه 3 بهمن 1396
  • 18:05

نام input باید برابر پارامتر دریافتی در action باشد:

            <input type="file" name="imFileBase" />

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)