2012-04-16 6 views
2

Эй, ребята, я пытаюсь реализовать загрузку файлов на своем сайте, не обновляя страницу. Я не хочу, чтобы что-то вроде iFrame есть ли другой способ сделать это в ajax? Я пробовал (USING Codeigniter & ajax, но он выводит «Вы ничего не загрузили»). Я прочитал некоторые страницы, такие как this one, но я не мог точно его реализовать. Любые предложения ребята? Я прочитал почти все предложения, размещенные здесь, используя jquery ajax, но все они не очень хороши. Я просто хочу, чтобы чистый jquery ajax ничего больше.jquery ajax file upload

Если это невозможно, iframe может сделать, пожалуйста, поделиться некоторыми примерами. :)

Примечание: Это полезно только для одной загрузки одновременно. Нет кратных.

ответ

0

нет загрузки файла AJAX. Его все iFrame за шторкой, когда дело доходит до загрузки файла. Пример ссылки, которую вы дали, не делает никакой магии, но использует скрытый iFrame.

+0

Каким образом facebook делает это? Я видел код, который я не мог найти iframe. –

+0

@peter не уверен, изменился ли Facebook, но он использовал java-апплет в какой-то момент. –

+1

если он создает скрытый iframe во время выполнения, как вы думаете, вы его увидите? – Asdfg

-1

По моим сведениям, должен быть язык программирования на стороне сервера, такой как php. Попробуйте это. http://valums.com/ajax-upload/

+0

вам нужно написать обработчик на стороне сервера, чтобы сохранить файл где-нибудь. – Asdfg

+0

Очевидно, что вам нужно что-то на стороне сервера, чтобы обрабатывать ваши загруженные данные :-) –

+0

В этом случае возникает ошибка, когда он говорит что-то вроде обработчика ... –

4

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

  1. Plupload - имеет пользовательский интерфейс, прекрасно сочетается с jQuery. В зависимости от браузера можно использовать HTML5, Flash, Silverlight или HTML4
  2. Swfupload
  3. Uploadify
+0

Ой, спасибо, но без флеш-памяти ... –

+1

plupload имеет чистую HTML5, и вы можете отключить Flash-модуль –

+1

Но некоторые веб-браузеры не поддерживают html5. Особенно IE –

0

Многие ответы можно найти здесь: How can I upload files asynchronously?

Этот вопрос может быть дубликатом к вышеупомянутому

Ссылка: «Существуют различные готовые плагины при загрузке файлов на jQuery.

Выполнение такого рода загрузочных хаков не является приятным опытом, поэтому людям нравится использовать готовые решения.

Вот некоторые из них: http://www.phpletter.com/Demo/AjaxFileUpload-Demo

http://www.fyneworks.com/jquery/multiple-file-upload

Ajax File Upload Plugin Multiple File Upload Plugin Вы можете найти более из плагина -site Jquery в «

+0

На самом деле я уже пробовал первый ... второй раз, я думаю, я не мог понять lol –

+0

Хорошо, что бы ни работало для вас, рад помочь :) –

0

От чистого AJAX не представляется возможным. , вы можете использовать этот плагин ajax form, и он будет обрабатывать все вещи (автоматически создайте iframe для файла типа ввода)

0

Я пробовал много, много плагинов для проекта в прошлом, и я пришел к выводу, что мне не понравилось ни одно из них. Ну, кроме этого: jQuery-file-upload По моему опыту, это просто лучший плагин для обработки загрузки файлов.