تخفیف های ویژه روز دانشجو! تا ۹۰ درصد تخفیف! تخفیف های ویژه روز دانشجو! تا ۹۰ درصد تخفیف!
مانده تا پایان تخفیف
مشاهده دوره‌ها
0

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

سلام

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

   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 قرار میدهد

مشکل کد من کجاست ایا روش دیگری هم وجود دارد

پرسیده شده در 1396/11/03 توسط

1 پاسخ

0

سلام، وقت بخیر

داخل form ای که داخل صفحه html ایجاد کردید، مقدار name رو برابر نام پارامتر ورودی اکشن قرار بدید. مثلاً نام هر دو image باشه.

پاسخ در 1396/11/05 توسط

پاسخ شما