Ajax или асинхронный вызов для загрузки файла - PullRequest
1 голос
/ 15 июля 2011

ОК, это действительно сложный вопрос, я действительно понятия не имею, чтобы сделать это. Мне нужно добавить функцию загрузки файла в веб-приложение asp.net. Сначала я использовал uploadify (надстройку jquery), он мог загружать файл на сервер с помощью ajax, но для этого требовался Flash. Бизнес не доволен этим. Во-вторых, я использовал valums ajax upload, то же самое с uploadify, но для этого не требуется Flash. Тогда бизнес по-прежнему недоволен, они предпочитают «загрузку html», что означает, что они не хотят использовать какие-либо сторонние библиотеки или дополнения jquery.

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

Я действительно изо всех сил, любая помощь оценит это.

Ответы [ 3 ]

0 голосов
/ 15 июля 2011

Я считаю, что вам нужно использовать одно из многих решений javascript для "скрытого iframe", которые вы найдете с помощью быстрого поиска в Google.

0 голосов
/ 15 июля 2011

«AJAX», не может использоваться для загрузки файлов. Чтобы получить асинхронное поведение, необходимо использовать iframes.

Создайте форму только для загрузки файла (ов). Iframe эта форма загрузки внутри вашей основной формы.

Вам нужно будет синхронизировать две формы, было бы легко указать идентификатор объекта в параметрах записи при загрузке файлов.

0 голосов
/ 15 июля 2011

Используйте форму .

Если вы не можете этого сделать, попробуйте файл API. Он доступен только в современных браузерах, так что это может быть невозможно. Файловый API - это единственный известный мне способ загрузить файл асинхронно (без отправки формы).

Это spec , Mozilla API и demo . Файловый API можно использовать без перетаскивания (я полагаю, что он использует <input type='file'>. Если пользователь не выполняет перетаскивание, то он должен ОК для каждого файла, который вы пытаетесь использовать с локальной машины. Раздражает, да, но это безопаснее.

...