ورود

View Full Version : سوال: ذخیره عکس پیش فرض در پایگاه داده



محمدرضـا
چهارشنبه 08 مرداد 1393, 22:47 عصر
با سلام.
من کد زیر را برای دریافت عکس از کاربر و ذخیره اون در پایگاه داده را نوشته ام. مشکل من اینجاست که اگه کاربر عکس انتخاب نکرد، فیلد عکس خالی نمونه و با یه عکس پیش فرض پر بشه تا شکل ظاهری سایت بهم نریزه. این عکس پیش فرض می تونه مثلا آرم سایتم باشه.
ممنون میشم کمک کنید؟؟؟؟





public ActionResult Create(Student student,HttpPostedFileBase photo)
{
if (ModelState.IsValid)
{
try
{
student.Id = Guid.NewGuid();
if (photo != null)
{
if (photo.ContentType.StartsWith("image"))
{
var pb = new byte[photo.ContentLength];
photo.InputStream.Read(pb, 0, photo.ContentLength);
student.FullPhoto = pb;
Image im;
using (var ms = new MemoryStream(pb))
{
im = Image.FromStream(ms);
}
Image yourImage = Tools.resizeImage(im, new Size(100, 70));
student.ThumbPhoto = Tools.imageToByteArray(yourImage);
}
}
else
{
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟;
;
}
db.Students.Add(student);
db.SaveChanges();
return RedirectToAction("Index");
}
catch(Exception ex)
{
while(ex.InnerException!=null)
ex=ex.InnerException;
ViewBag.Error=ex.Message;
ViewBag.GenderId = new SelectList(db.Genders, "Id", "Type", student.GenderId);

return View(student);

}
}

ViewBag.GenderId = new SelectList(db.Genders, "Id", "Type", student.GenderId);
return View(student);
}

محمدرضـا
جمعه 10 مرداد 1393, 15:12 عصر
لطفا راهنمایی؟؟؟

محمدرضـا
چهارشنبه 15 مرداد 1393, 08:46 صبح
ای عکس پیش فرض بر من رحمی بکن و بیا در ذهنم قرار بگیر تا من بنویسمت و حالش را ببرم!

mze666
چهارشنبه 15 مرداد 1393, 09:51 صبح
توی اکشنی که وظیفه دریافت عکس کاربر رو بر عهده داره چک کنید اگر عکس داشت نشون بده در غیر این صورت یه عکس پیش فرض توی پروژتون بزارید و اون رو فراخوانی کنید (به صورت زیر)
return File(Server.MapPath("~/Content/images/user.png"), "image/png");

hakim22
چهارشنبه 15 مرداد 1393, 10:45 صبح
بهتره ستون عکس در بانک اطلاعاتی از نوع nullable باشه و هنگام نمایش عکس در اکشن مربوطه چک کنید اگر عکس null بود یک عکس پیشفرض از مسیر content را بجای آن نمایش دهد.

محمدرضـا
جمعه 17 مرداد 1393, 11:03 صبح
بهتره ستون عکس در بانک اطلاعاتی از نوع nullable باشه و هنگام نمایش عکس در اکشن مربوطه چک کنید اگر اکس null بود یک عکس پیشفرض از مسیر content را بجای آن نمایش دهد.
آقا ممنون.
فکر خوبی بود.
جواب داد... .