Загрузка файла, похожего на ajax

#c# #asp.net #ajax #iframe #file-upload

#c# #asp.net #ajax #iframe #загрузка файла

Вопрос:

Я пытаюсь создать форму, которая разрешает асинхронную загрузку файла с asp.net . Я понимаю, что вы не можете загрузить файл с помощью ajax как таковой, поэтому я рассматриваю альтернативы

Каков наилучший способ сделать это? Создать Iframe на странице со всей формой, включая файл ввода? Могу ли я на родительском элементе фрейма иметь кнопку отправки, которая заставляет фрейм отправлять, а затем отображает какой-то счетчик, указывающий на загрузку файла? В идеале по завершении я хотел бы перенаправить пользователя на другую страницу. Есть ли несколько простой способ сделать это???

Ответ №1:

Вы пробовали использовать один из плагинов jquery вместо того, чтобы делать это вручную?

http://aquantum-demo.appspot.com/file-upload

Ответ №2:

Почему бы не использовать ASP.NET AJAX управления инструментария управления AsyncFileUpload? Это бесплатно и работает довольно хорошо.

Комментарии:

1. К сожалению, я не могу использовать это решение. Запрошенная страница не является страницей, на которой находится элемент управления, и я получаю ошибку поиска по хэшу, потому что страница, которая ожидает элемент управления, не может его найти. Это связано с тем, что страница создается «на лету» с помощью xml xslt

Ответ №3:

Вы могли бы использовать http://jquery.malsup.com/form/#file-upload

Разместите его на странице, которая будет обрабатывать загрузку файла на стороне сервера вашим обычным способом.

Мне нравится, когда страница возвращает JSON с флагом успеха / неудачи и сообщением, затем анализирует ответ, чтобы определить, удалась ли загрузка.