• 1397/04/20

گرفتن نام عکس در سمت کنترلر :

سلام استاد مدائنی خسته نباشید

من یک تابع ajax دارم که فایل رو آپلود میکنه و یک تابع دیگه که عملیات insert توی دیتابیس رو انجام میده

من نام فایل رو داخل تابع اول میگیرم در ajax و درست هم کار میکنه ولی اول اینکه نمیدونم چطور این اسم فایل رو به کنترلر بفرستم و دوم اینکه وقتی متغیر رو با ajax میفرستم مقدارش نال هست (درصورتی که بقیه ی فیلد ها مقدار دارند سمت کنترلر)

(آیا باید از multipart-form-data استفاده کنم اگر آره؟ یه مشکل دارم این است که چون میخوام از new  ajax option استفاده کنم داخل ajax.beginform  نمیتونم همزمان هم پارامتر multipart form-data رو بدم )

ممنون میشم کمک کنید که باید چیکار کنم ؟

  • 1397/04/20
  • ساعت 17:03

شما نمیتونید با Ajax.BeginForm همزمان فایل هم آپلود کنید 

باید از تابع جدا استفاده کنید 

سرچ کنید نمونه کد هست 


  • 1397/04/20
  • ساعت 17:27

منم از تابع جدا استفاده کردم فقط نمیدونم نام عکس رو چطور به کنترلر بفرستم


  • 1397/04/20
  • ساعت 17:33
$("#uploadEditorImage").change(function () {
    var data = new FormData();
    var files = $("#uploadEditorImage").get(0).files;
    if (files.length > 0) {
        data.append("HelpSectionImages", files[0]);
    }
    $.ajax({
        url: resolveUrl("~/Admin/HelpSection/AddTextEditorImage/"),
        type:"POST",
        processData: false,
        contentType: false,
        data: data,
        success: function (response) {
           //code after success

        },
        error: function (er) {
            alert(er);
        }

    });
});

 

if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
        {
            var pic = System.Web.HttpContext.Current.Request.Files["HelpSectionImages"];
        }

 


logo-samandehi