Загрузка изображений до отправки формы в MVC с использованием ajax / jQuery - PullRequest
4 голосов
/ 09 ноября 2010

Я хотел бы создать форму в своем приложении MVC, которая содержит пару полей ввода.Кроме того, я бы хотел, чтобы пользователь загружал некоторые изображения асинхронно, выбирая изображение на своем жестком диске, а затем нажимая кнопку загрузки.После успешной загрузки контроллер, обрабатывающий загрузку изображения, генерирует миниатюру изображения и отправляет URL-адрес изображения обратно на страницу, что позволяет отображать миниатюру изображения на текущей странице.Как только 3 изображения были успешно загружены, пользователь может фактически отправить всю форму для обработки.

Мне нужна отправная точка здесь.Ссылки на примеры кода будут высоко оценены.Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Я использую http://valums.com/ajax-upload/ в своих проектах.См. Мой вопрос здесь для получения справки по настройке:

Нужна помощь в отладке загрузки изображений Ajax на основе XHR с ASP.NET MVC2

Одна вещь, которую он не упоминаетв документации плагин ожидает результат загрузки в формате JSON, поэтому в случае успеха вы должны написать

return Json (new {success = true})

Для возврата ошибок,используйте {error = "message error"}.

Если вы не справитесь с этим, загрузка всегда будет неудачной, даже если она сработала.Смотрите этот учебник для хранения ваших изображений в базе данных

http://byatool.com/mvc/asp-net-mvc-upload-image-to-database-and-show-image-dynamically-using-a-view/

Что касается миниатюр, я не уверен в отличном способе сжатия изображений, но я нашел этот учебниккоторый вы должны быть в состоянии получить код изменения размера и поместить его в действие загрузки

http://www.aspdotnetcodes.com/Asp.Net_Dynamic_Thumbnail_Creation.aspx

Надеюсь, что это помогает!

1 голос
/ 10 ноября 2010

У меня был большой успех с плагином Uploadify . Он основан на Flash, но может загружать несколько изображений асинхронно, очень настраиваем и имеет массу обратных вызовов, которые вы можете подключить для достижения того, что вы хотите.

Единственное, он был разработан для работы с PHP, хотя люди смогли успешно использовать его с ASP. Тем не менее, я все еще рекомендую это.

0 голосов
/ 05 января 2012

Я искренне предпочитаю плагин ajaxSubmit для jquery.Я сам использовал его для своего сайта.Все, что вам нужно сделать, это

$(#form_element).submit(function {
    $(this).ajaxSubmit();
});

Ссылка: http://be.twixt.us/jquery/formSubmission.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...