Привет У меня есть диалоговое окно всплывающее окно содержит форму обновления и вход загрузки я создал действие обновления, и я добавил некоторые Закачай Коды проблема входного файла всегда нуль в видепочему HttpPostedFileBase файл всегда пустой
контроллер
[HttpPost]
public ActionResult Setting(user user, HttpPostedFileBase file)
{
Посмотреть
@model Magellane.Models.user
@using (Html.BeginForm("Setting", "Account", FormMethod.Post, new { role = "form", id = "profileForm", @class = "form-horizontal", enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
<input type="hidden" name="user_id" value="@Session["user_id"]">
<div class="form-group">
<label for="pass1" class="col-sm-2 control-label">Nom decole</label>
<div class="col-sm-10">
<input class="form-control-modal required" id="company" type="text" value="@Model.company" name="company" minlength=5>
<span class="field-validation-error" data-valmsg-for="company" data-valmsg-replace="true"></span>
</div>
</div>
<div class="form-group">
<label for="pass1" class="col-sm-2 control-label">Logo</label>
<input type="file" class="margin-none" name="logo" id="file" onchange="readURL(this);" />
</div>
$.ajax({
url: '/Account/setting',
type: 'POST',
data: $('form').serialize(),
dataType: 'json',
async: false,
success: function (xhr, status, error) {
bootbox.alert(xhr.message);
},
error: function (xhr, ajaxOptions, thrownError) {
bootbox.alert(thrownError);
}
});
есть ли решение?
Чтобы отправлять файлы с помощью ajax, вам нужно использовать 'FormData' и установить правильные параметры ajax. См. [Этот ответ] (http://stackoverflow.com/questions/29293637/how-to-append-whole-set-of-model-to-formdata-and-obtain-it-in-mvc/29293681#29293681) для примера –
Проверьте эту ссылку для получения полного кода для файла передачи [ссылка] (http://stackoverflow.com/questions/40644898/mvc5-ajax-beginform-upload-form-with-files/40648538#40648538) –