Как добавить файлы для загрузки из кода?

Мне нравится uploadify, но мне нужно включить модуль перетаскивания для браузеров, поддерживающих эту функцию.

Прямо сейчас единственный способ выбрать файлы — через диалоговое окно браузера. Я хотел бы иметь что-то вроде:

$("mySelector").uploadify("addFile",{src:...; name:...; etc:...});

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


person Vlad Nicula    schedule 03.10.2011    source источник


Ответы (2)


Вам нужно что-то вроде этого http://aquantum-demo.appspot.com/file-upload

Примечание. Загрузка файлов возможна только из ввода типа файла (диалоговое окно браузера) по соображениям безопасности. Вы не можете прочитать путь из ввода типа файла. Даже не используя JS. Также вы не можете написать путь к файлу ввода.

Плагины, упомянутые выше, являются трюками UX, но все они ограничены этим ограничением безопасности, заключающимся в использовании ввода типа файла для загрузки. В противном случае вам нужно что-то из линейки загрузчиков Flash, ActiveX и т. Д., Которые обеспечивают загрузку очереди.

person simplyharsh    schedule 03.10.2011
comment
Я попробовал это сегодня, он не поддерживает выбор нескольких файлов в IE, и, поскольку я могу перетаскивать файлы для него без необходимости немедленно загружать их, я не понимаю, почему это невозможно с загрузить. Единственная причина, по которой я пытаюсь придерживаться uploadify, - это поддержка IE. - person Vlad Nicula; 03.10.2011
comment
Я попробовал aquantum-demo.appspot.com/file-upload. До сих пор я видел, что мы не можем удалить файл в IE. Мы также не можем выбрать несколько файлов. Это действительно недостаток, так как более 70% целевых пользователей имеют IE7-9. - person Vlad Nicula; 07.10.2011

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

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

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

person Vlad Nicula    schedule 01.04.2012