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

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

کاربر سایت

karolin

عضویت از 1394/10/16

اعتبار سنجی سمت سرور برای سایز عکس

  • دوشنبه 10 مهر 1396
  • 14:29
تشکر میکنم

با سلام

من میخواستم بدونم برای اینکه سایز یک عکس قبل از آپلود توسط کاربر کنترل بشه از چه دستوراتی میشه استفاده کرد.مثلا بخواهیم اگر کاربر عکس رو با سایز خارج از محدوده مورد نظر آپلود کرد به اون پیغام خطا نمایش دهیم.(مثلا طول 100پیکسل در عرض 90 پیکسل برای کاربر اجباری شود)

با تشکر

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

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

سهیل علیزاده

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

  • دوشنبه 10 مهر 1396
  • 14:42
    using (Image img = System.Drawing.Image.FromStream(Image.InputStream))
                {
                    int width = img.Width;
                    int height = img.Height;
                }

کاربر سایت

karolin

عضویت از 1394/10/16

  • دوشنبه 10 مهر 1396
  • 14:55

در زمان استفاده از این کد inputstream  با خطا مواجه می شود.

 Image does not contain a  definition for input stream

ضمن اینکه فضای نام system.drawing ,system.io موجود می باشد

با تشکر

کاربر سایت

سهیل علیزاده

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

  • دوشنبه 10 مهر 1396
  • 14:56

کدهاتون رو قرار بدید

کاربر سایت

karolin

عضویت از 1394/10/16

  • دوشنبه 10 مهر 1396
  • 15:01
  public ActionResult Create([Bind(Include = "FaSliderID,FaSliderTitle,FaSliderImg,see,Link")] FaSlider faSlider, HttpPostedFileBase imgUp)
        {
            if (ModelState.IsValid)
            {
                if (imgUp != null)
                {
                    //using (Image img = System.Drawing.Image.FromStream(Image.InputStream))
                    //{
                    //    int width = img.Width;
                    //    int height = img.Height;
                    //}
                    //if !((width == 1180) && (height == 590))
                    //    {
                    //    //پیغام خطا

                    //}

                    faSlider.FaSliderImg = imgUp.FileName;
                    imgUp.SaveAs(Server.MapPath("/Slider/" + faSlider.FaSliderImg));
                    db.FaSlider.Add(faSlider);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }

کاربر سایت

سهیل علیزاده

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

  • دوشنبه 10 مهر 1396
  • 15:45

شما خارج از using دارید اندازه رو بررسی می کنید این کار باید داخل آن انجام شود و همچنین شما imgUp را درون متد مورد نظر قرار ندادید:

        using (Image img = System.Drawing.Image.FromStream(imgUp.InputStream))
            {
                int width = img.Width;
                int height = img.Height;
                if (width > 1180 && height > 590)
                {
                    ModelState.AddModelError("filed","باشد 590 انداز تصویر باید بین 1180 تا ");

                }
            }

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

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

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

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