Подтвердить что ты не робот

Gmail как загрузка файла с помощью jQuery

Я хотел бы загружать файлы так же, как и в google mail. Я хотел бы использовать jQuery и PHP, чтобы сделать это, так или иначе, чтобы получить progressbar и т.д.

Здесь я добавил видео о том, как это делает Google. http://dl.getdropbox.com/u/5910/Jing/2009-04-02_1948.swf

Нет вспышки, нет perl или cgi, пожалуйста.

Я думаю, что я могу жить без progressbar, теперь я ищу информацию о плагинах jquery или о том, что мне нужно будет смотреть

4b9b3361

Ответ 1

Странно, что люди говорят, что gmail не использует флеш, когда вы можете явно увидеть swf файл в интерфейсе gmail. Попробуйте щелкнуть правой кнопкой мыши по "Прикрепить файл". Это то, что позволяет одновременно загружать несколько загрузок.

Ответ 2

Проще всего было бы использовать SWFUpload, это небольшая кнопка, написанная во Flash, со всеми крючками для ее запуска в JS, Очень проста в использовании и хорошо работает с PHP

но если вы действительно хотите, чтобы он был чистым JS, вам понадобится помощь с сервера. в частности, вам нужно будет запустить загрузку и периодически запрашивать сервер о том, как это происходит. К сожалению, загрузка PHP-загрузки не получает уведомления до завершения загрузки. вам придется заменить его чем-то другим. есть несколько чистых JS-загрузчиков, которые включают в себя пример кода сервера Perl только из-за этого.

IOW: JS и PHP не разрешают (полностью) его. либо добавьте флешку клиенту, либо лучше обработчик загрузки на сервере.

Ответ 4

Uploadify - еще одна кнопка загрузки (извините), которая использует jquery. Та же идея, что и Хавьер.

Ответ 5

PHP не поддерживает отчетность о загрузке напрямую. Таким образом, нет возможности прочитать статус загрузки. Однако существует патч, который может работать. Я еще не пробовал.

Ответ 6

GMail использует Flash для загрузки файла в фоновом режиме. SWFUpload - проект с открытым исходным кодом, который противостоит чему-то подобному.

Ответ 7

... gmail использует iFrame с отображением стиля: hidden; затем, когда вы загружаете форму, она отправляет iFrame в URL-адрес для загрузки. Вспышки нет. Единственное, что Google делает со вспышкой в ​​Gmail, просто вызывает шум для чатов. И вы должны разрешить это в настройках. Они не слишком сильно используют вспышку, потому что это довольно плохо, если использовать память и процессор. Javascript может делать все, что может сделать flash (albiet с гораздо большим количеством кода), но Javascript, в 99% случаев, намного быстрее и лучше по памяти.

Ответ 8

Возможно, вы можете использовать PlUpload. Он поддерживает множество типов и настраивается. Вы можете проверить демо на веб-сайте. На домашней странице он также показывает, что он поддерживает на главной странице и имеет резервный механизм.

http://www.plupload.com/

Изменить: он доступен как плагин jQuery.

Ответ 9

SWFUpload является gud и совместим со всеми типами веб-приложений.

Ответ 10

Об Ajax не поддерживает двоичные данные во время представления формы. Существует обходное решение; если вы jQuery, то вы можете использовать этот плагин формы (от malsup) здесь, http://www.malsup.com/jquery/form/. Я использую его в течение многих лет...

Также plupload кажется многообещающим. Палец вверх для этого;) Я должен сказать, что он немного громоздкий.