نمایش نتایج 1 تا 3 از 3

نام تاپیک: اشتباه دستور If در چک کردن مقدار داشتن فایل HttpPostedFileBase ارسالی از سمت View

  1. #1

    Question اشتباه دستور If در چک کردن مقدار داشتن فایل HttpPostedFileBase ارسالی از سمت View

    درود

    در هر جایی از پروژه که من یک تصویر رو در سمت کنترولر دریافت میکنم ابتدا روی اون یک If میزام که در صورتی که عکسی انتخاب نشده بود پیغام مناسب اجرا بشه :





    [AjaxOnly]
    [ValidateAntiForgeryToken]
    [HttpPost]
    public ActionResult SaveImage(HttpPostedFileBase UserImg, int ImageNumber, string PId)
    {

    try
    {
    if (UserImg != null)
    {
    //
    return View();
    }
    else
    {
    string Msg = "لطفا ابتدا یک تصویر را انتخاب کنید ";
    return MessageBox.Show(Msg, MessageType.Warning);
    }
    }
    catch (Exception e)
    {
    string Msg = Convert.ToString(e);
    return MessageBox.Show(Msg, MessageType.Error);
    }
    }







    ولی به یه دلیل نام معلوم حتی در صورتی که یک فایل انتخا شده باشه و تصویر در سمت کنترولر دریافت شده باشه همیشه ابتدا دستورات قسمت else اجرا میشه و بعد دستورات قسمت اصلی اجرا میشه - یعنی در نمونه کد بالا ابتدا پیغام "لطفا ابتدا یک تصویر را انتخاب کنید" رو نشون میده و بعد میره دستورات قسمت اصلی رو اجرا میکنه - دلیل این اختلال چیه ؟

    نکته : فایل تصویر بصورت Ajaxform به سمت کنترولر فرستاده میشه.

    لطفا این ویدیو از تست رو تماشا کنید تا متوجه منظورم بشید :
    حجم یک مگابایت لینک دانلود

    شیوه صحیح چک کردن HttpPostedFileBase UserImg چیه ؟

  2. #2

    نقل قول: اشتباه دستور If در چک کردن مقدار داشتن فایل HttpPostedFileBase ارسالی از سمت View

    شیوه صحیح چک کردن HttpPostedFileBase UserImg چیه ؟
    روش درست چک کردن خالی نبودن فایل این هست :
    if (myFile != null && myFile.ContentLength != 0)



    نکته : فایل تصویر بصورت Ajaxform به سمت کنترولر فرستاده میشه.

    لطفا این ویدیو از تست رو تماشا کنید تا متوجه منظورم بشید :
    حجم یک مگابایت لینک دانلود
    اینکه یبار موس رو hover میکنید فایل وجود داره و دوباره hover میکنید null هست عجیبه !
    فرمتون رو چجوری submit میکنید به سمت کنترلر ؟ با change شدن file input هست یا click روی submit button ؟
    احتمالا چندبار فرمتون Submit میشه واگرنه دلیلی نداره یبار null باشه و یبار data داشته باشه !

    این رو هم ببینید : http://powerdotnetcore.com/asp-net-m...d-using-jquery

  3. #3

    نقل قول: اشتباه دستور If در چک کردن مقدار داشتن فایل HttpPostedFileBase ارسالی از سمت View

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    روش درست چک کردن خالی نبودن فایل این هست :
    if (myFile != null && myFile.ContentLength != 0)





    اینکه یبار موس رو hover میکنید فایل وجود داره و دوباره hover میکنید null هست عجیبه !
    فرمتون رو چجوری submit میکنید به سمت کنترلر ؟ با change شدن file input هست یا click روی submit button ؟
    احتمالا چندبار فرمتون Submit میشه واگرنه دلیلی نداره یبار null باشه و یبار data داشته باشه !

    این رو هم ببینید : http://powerdotnetcore.com/asp-net-m...d-using-jquery
    ممنون با کلی برسی و نگاه کردن یکی دیگه از پروژه هام فهمیدم علت چیه و مشکل حل شد .
    در حالتی که فورم رو بصورت ایجکسی ایجاد میکنم - به صورت زیر :
    1 @using (Ajax.BeginForm


    وقتی داده ها رو صورت ایجکسی به سمت سرور میفرسته فایل HttpPostedFileBase دریافت نمیشه و بخاطر همین من فورم رو بصورت عادی
    1 Html.BeginForm


    ایجاد میکنم و از یه افزونه استفاده میکنم که فورم رو ایجکسی میکنه و فایل رو هم به سمت کنترولر مبفرسته!

    مشکل فعلی بخاطر این بود که هم فورم رو بصورت Ajax.BeginForm زده بودم و هم اون افزونه رو بهش اضافه کرده بودم و بخاطر همین قاطی کرده بود.


    لینک معرفی شده هم خیلی مفید بود مممنون.

تاپیک های مشابه

  1. چک کردن وجود داشتن فایل در سرور
    نوشته شده توسط niksalehi در بخش برنامه نویسی در 6 VB
    پاسخ: 12
    آخرین پست: جمعه 13 اردیبهشت 1392, 00:38 صبح
  2. پاسخ: 1
    آخرین پست: شنبه 02 اردیبهشت 1391, 20:17 عصر
  3. سوال: چك كردن مقدار موجود در فيلد با SQL
    نوشته شده توسط eidazha در بخش SQL Server
    پاسخ: 5
    آخرین پست: پنج شنبه 22 مهر 1389, 21:40 عصر
  4. سوال: چک کردن مقدار وارد شده توسط کاربر در edit box؟
    نوشته شده توسط migrant در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 29 مرداد 1387, 12:18 عصر
  5. چک کردن مقدار موجود در جدول
    نوشته شده توسط night11 در بخش C#‎‎
    پاسخ: 11
    آخرین پست: دوشنبه 03 بهمن 1384, 11:39 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •