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

Как получить Gmail-подобные загрузки файлов для моего веб-приложения?

Я хочу добавить функции загрузки файлов в формате gmail для одного из моих проектов. Может ли кто-нибудь помочь мне в этом?

Мое приложение построено на vb.net.

Буду признателен за любую помощь или руководство.

Спасибо

4b9b3361

Ответ 1

Откажитесь от SWFUpload, который по сути является api javascript, чтобы полностью перегружать возможности загрузки файлов. Лучше всего там, пока браузеры, наконец, не догонят.

От ссылки:

  • Загрузите несколько файлов одновременно с помощью ctrl/shift-select в диалоговом окне
  • Обратные вызовы Javascript для всех событий
  • Получить информацию о файлах перед загрузкой
  • Элементы загрузки стиля с помощью XHTML и css
  • Отображать информацию во время загрузки файлов с помощью HTML
  • Не требуется перезагрузка страницы
  • Работает на всех платформах/браузерах с поддержкой Flash.
  • Грамотно деформирует нормальную форму HTML-загрузки, если Flash или javascript недоступен
  • Управление файлами перед запуском загрузки
  • Отображать только выбранные типы файлов в диалоговом окне
  • Очередь загружает, удаляет/добавляет файлы перед началом загрузки.

Демос

----- загрузка iframe -----

Чтобы начать, вы хотите иметь iframe на своей странице. Это предназначено для связи с сервером. Вы скроете его позже, но пока, держите его видимым. Дайте этому iframe атрибут имени, например "uploader" или что-то еще.

Теперь в вашей форме установите цель для имени iframe и действия на script, которые у вас есть на сервере, который будет принимать загрузку файла (например, обычную форму с загрузкой файла). Добавьте ссылку внутри этой формы с текстом "Добавить файл". Установите эту ссылку для запуска функции javascript, которая добавит новый ввод в форму. Это можно сделать с помощью DOM, но я бы порекомендовал библиотеку javascript, например jquery.

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

Загрузите файл script для вывода "Готово". или имя файла или что-то, когда загрузка завершена.

Проверяйте его каждую секунду или около того, пока не будет содержимое. После того, как у вас есть контент, убейте ваш таймер и замените ввод файла именем файла (или "Загруженным файлом" ) или любым другим.

Скройте свой iframe с помощью css.

Ответ 2

Из YUI! (Пользовательский интерфейс Yahoo), https://yuilibrary.com/yui/docs/uploader/

  • Выбор нескольких файлов в одном диалоговом окне "Открыть файл".
  • Фильтры расширения файлов для облегчения выбора пользователя.
  • отслеживание выполнения загрузки файлов.
  • Диапазон метаданных файла: имя файла, размер, дата, дата, дата и автор.
  • Набор событий, отправленных по различным аспектам процесса загрузки файлов: выбор файлов, загрузка, завершение загрузки и т.д.
  • Включение дополнительных данных в запрос POST для загрузки файлов.
  • Более быстрая загрузка файлов на широкополосных подключениях из-за измененного размера буфера SEND.
  • Ответ сервера на одной странице после завершения загрузки файла.

Полностью бесплатный

Ответ 3

Вот клон для загрузки gmail. Это точный клон загрузчика gmail с некоторыми дополнительными возможностями. После загрузки вы можете увидеть уменьшенные изображения изображений, Перетащить эскизы, чтобы изменить порядок и заменить любой миниатюру. Это делается с помощью jQuery. Вы можете увидеть демонстрацию здесь. Исходный код доступен загружать в один zip файл.

Надеюсь, вы сможете легко удалить какой-то код и получить нужную вещь. Вы можете оставлять комментарии в блоге ABCoder, если вам нужна дополнительная помощь.

Ответ 4

Для не-флеш-решения вы можете использовать NeatUpload. Я использовал его в обширном проекте в прошлом году с требованием без вспышки. Это очень легко интегрировать в существующие решения. Я думал, что это был легкий ветерок. Проще, в моем ограниченном опыте, чем работа с SWFUpload в ASP.NET. Вероятно, потому что NeatUpload построен только для ASP.NET.

Ответ 5

Вы говорите о загрузке без полной обратной пересылки страницы? Взгляните на http://www.phpletter.com/Demo/AjaxFileUpload-Demo/, который создает скрытый iframe, копирует элемент управления ввода и использует iframe для выполнения сообщения, чтобы получить файл на сервере.

Если вы ищете поведение, при котором пользователь нажимает "Прикрепить файл", и автоматически открывается диалоговое окно просмотра файлов, это может быть сделано с помощью Javascript, но не работает в FireFox, в котором есть меры предосторожности, требующие пользователь должен напрямую вызвать кнопку "Обзор" (а не программно через script).

Для "автоматической" загрузки используйте Javascript для присоединения к событию "change" для свойства "value" элемента управления "input", чтобы он выполнялся, когда файл был выбран.

Ответ 6

Вместо этого вы можете использовать Flickr Uploader.

Ответ 7

Теперь прошло уже 2 года, я использовал функцию uploadify в своей старой системе, и она работает хорошо. но вам нужно написать код взлома (например, провести сеанс).

Я рекомендую вам использовать jquery upload, который является чистым HTML, без swf, никаких проблем с сеансом и действительно здорово!

== в 2013 году, что я писал:

Я рассматриваю, что выбрать, SWFupload или uploadify.

но на официальном сайте SWFupload говорится, что он не находится в активной разработке, и автор надеется, что когда-нибудь SWFupload сможет возродиться...

так... Я решил попробовать "uploadify", который, похоже, поддерживает множество опций, обратные вызовы с большим количеством демонстраций. (после проверки его исходного кода, я думаю, автор обертывает "SWFupload v1" и "SWFupload v2" в своем "uploadify v3"...)

и есть полный список этого типа загрузчиков.

Ответ 8

Я хотел бы немного уточнить загрузку файла в формате Gmail.

Вы имеете в виду, что, если он сидит немного, он автоматически привязывает его к черновику?

Ответ 9

Коду Gmail сложно найти свой путь, но если бы я должен был догадаться, вот как это работает:

  • Когда вы нажимаете "Прикрепить другой файл", он вставляет обычный файл управления типом ввода. В IE он также может программно запускать событие click на кнопке "browse", так что диалоговое окно файла открывается немедленно (оно не работает в firefox, и у меня нет IE, но я считаю, что IE позволяет это)
  • После выбора файла он обнаруживает событие изменения элемента управления ввода и запускает таймер.
  • Когда таймер запускается, он отделяет входной элемент от формы и добавляет его в другую форму в скрытом iframe, помещая простую ссылку в основную (видимую) форму. Затем скрытый iframe отправляется на загрузку файла. (Он также может клонировать элемент ввода, но я не пробовал, работает ли это.)

Ответ 10

Вы можете использовать iFrames для этого