Я прочитал некоторые статьи, которые невозможно сохранить файлы, используя Ajax.BeginForm
.MVC5 Ajax.BeginForm загрузить форму с файлами
У меня есть форма в MVC5, которая использует Ajax.BeginForm
, поэтому у пользователя есть приятное отзывчивое приложение без обновления страницы.
Теперь необходимо добавить 4 поля, в которых будут храниться файлы (загрузка файлов).
Также читайте, что возможно с jquery.form.js
это возможно.
Так что мои вопросы о другом подходе это сделать какой-либо смысл:
- Форма держать
Ajax.BeginForm
- Пользователь вводит данные в форму.
- Когда пользователю нужно загрузить файл в форму, я подумал о том, чтобы загрузить этот файл на сервер «на лету» и временно сохранить его.
- Когда форма сохраняется, на стороне сервера я могу получить временные файлы, а затем сохранить их.
Есть ли в этом смысл? Цените любые советы от людей, которые уже сталкиваются с этой ситуацией.
Вы не можете использовать 'Ajax.BeginForm()' для загрузки файлов. Однако вы можете использовать '$ .ajax()' с 'FormData' - см. [Этот ответ] (http://stackoverflow.com/questions/29293637/how-to-append-whole-set-of-model-to- formdata-and-get-it-in-mvc/29293681 # 29293681) (но немного непонятно, почему вы хотите размещать файлы и данные формы отдельно) –
@StephenMuecke благодарит, так что я могу загрузить данные формы + загрузить файлы в то же время с использованием $ .ajax и formdata? – VAAA
Sure - 'var formdata = new FormData ($ ('form'). Get (0));' будет сериализовать элементы управления формы, включая входные файлы. Вам просто нужно установить правильные параметры ajax по ссылке. –