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

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

کاربر سایت

iran

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

نمایش عکس در View در mvc.net

  • دوشنبه 7 خرداد 1397
  • 09:24
تشکر میکنم

سلام 
فرض کنید کلاس زیر را داریم 

public class Photo
{
    public int PhotoId { get; set; }
    public byte[] ImageData { get; set; }
    public DateTime DateUploaded { get; set; }
    public string Description { get; set; }
    public bool IsActive { get; set; }

}

و

[HttpPost]
    public ActionResult Create(WilhanWebsite.DomainClasses.Photo photo)
    {
        if (ModelState.IsValid)
        {
            photo.DateUploaded = DateTime.Now;
            _context.Photos.Add(photo);
            _context.SaveChanges();

            return RedirectToAction("Index");
        }
        ///////////////////////////////بازگردندن عکس
        return View(photo);
    }

و

<div class="form-group">
        @Html.LabelFor(model => model.ImageData, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            <input type="file" name="uploadImages" class="input-files" />
        </div>
    </div>

حال مشکل من این است که وقتی ModelState.IsValid اجازه ثبت نمیدهد و به view مورد نظر برمیگردم عکس را نمایش نمی دهد 
اما میخواهم عکس پاک نشود و کاربر دورباره عکس را اتنخاب نکند 
باید چه کدی بنویسم 

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

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

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 7 خرداد 1397
  • 12:49

تصویر را در Session کاربر قرار دهید تا در سرور باقی بماند

کاربر سایت

iran

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

  • جمعه 11 خرداد 1397
  • 14:24

سلام 

مهندس 

[HttpPost]
    public ActionResult Create(WilhanWebsite.DomainClasses.Photo photo)
    {
        if (ModelState.IsValid)
        {
            photo.DateUploaded = DateTime.Now;
            _context.Photos.Add(photo);
            _context.SaveChanges();
 
            return RedirectToAction("Index");
        }
        ///////////////////////////////بازگردندن عکس
        return View(photo);
    }

سشن را باید باچه چیزی مقداردهی کنم در کد بالا

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 11 خرداد 1397
  • 14:51

شما نوع را از نوع byte گرفتید و دارید در بانک ذخیره میکنید

این اشتباه بزرگی است

تصویر را در مسیر فیزیکی ذخیره کنید و سپس در ویو با استفاده از آدرس نمایش دهید

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

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

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

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