سلام استاد مدائنی خسته نباشید
من یک تابع ajax دارم که فایل رو آپلود میکنه و یک تابع دیگه که عملیات insert توی دیتابیس رو انجام میده
من نام فایل رو داخل تابع اول میگیرم در ajax و درست هم کار میکنه ولی اول اینکه نمیدونم چطور این اسم فایل رو به کنترلر بفرستم و دوم اینکه وقتی متغیر رو با ajax میفرستم مقدارش نال هست (درصورتی که بقیه ی فیلد ها مقدار دارند سمت کنترلر)
(آیا باید از multipart-form-data استفاده کنم اگر آره؟ یه مشکل دارم این است که چون میخوام از new ajax option استفاده کنم داخل ajax.beginform نمیتونم همزمان هم پارامتر multipart form-data رو بدم )
ممنون میشم کمک کنید که باید چیکار کنم ؟
شما نمیتونید با Ajax.BeginForm همزمان فایل هم آپلود کنید
باید از تابع جدا استفاده کنید
سرچ کنید نمونه کد هست
منم از تابع جدا استفاده کردم فقط نمیدونم نام عکس رو چطور به کنترلر بفرستم
$("#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"];
}