Передача файла в ASP NET MVC с помощью jQuery AJAX

382
11 февраля 2017, 08:45

Необходимо передать на сервер файл и с ним строку текста. Необходимо сделать при помощи jquery ajax. Как сделать, подскажите, пожалуйста

Answer 1

Контроллер:

[HttpGet]
public ActionResult Index()
{
    return View();
}
[HttpPost]
public ActionResult Index(HttpPostedFileBase file1, string myString)
{
    var result = new List<string>();
    if (file1 != null)
    {
        //Сохраняем файл
    }
    return Json(new { result = "Файл сохранен!", JsonRequestBehavior.AllowGet });
}

Представление:

<form id="form1" action="/Home/Index" method="post">
    <input type="text" id="myString" name="myString" value="" />
    <input name="file1" type="file" />
    <input type="submit" value="Отправить" />
</form>
@section scripts {
<script>
    $(function () {
        $("#form1").submit(function () {
            var formData = new FormData($(this)[0]);
            $.ajax({
                url: $(this).attr('action'),
                type: $(this).attr('method'),
                data: formData,
                async: true,
                success: function (data) {
                    alert(data.result)
                },
                error: function(){
                    alert('Ошибка');
                },
                cache: false,
                contentType: false,
                processData: false
            });
            return false;
        });
    });
</script>
}
READ ALSO
Autocomplete событие select

Autocomplete событие select

Добрый день!

293
Обработка событий в ООП

Обработка событий в ООП

Здравствуйте!

238
Проблемы с Less

Проблемы с Less

Установил less глобальноНа Sublime Text 3 установил плагены Less и Less2css

252