Как создать элемент управления загрузкой одним щелчком мыши для веб-приложения с использованием JS/HTML/CSS/PHP?

Я знаю, как сделать традиционный механизм "Выбрать файл...", а затем "Загрузить" для загрузки файлов. Я хотел бы знать, есть ли способ сделать это с помощью единого элемента управления вводом. Частично мотивация для этого заключается в том, что никто не выбирает файл, не желая его загружать, так почему же люди должны выполнять процесс в два этапа?

Я знаю, что есть несколько Flash-решений; Я не против использования Flash, но хотел бы знать, можно ли решить эту проблему без него. Я думаю, что это будет работать очень похоже на то, как Gmail загружает свои собственные вложения.

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

Было опубликовано несколько вопросов, подобных этому, здесь, в stackoverflow, и в других местах в Интернете. Много раз ответ был: "НЕТ! ЭТО ПРОБЛЕМА БЕЗОПАСНОСТИ!" но без объяснения, почему это проблема безопасности. Если это проблема безопасности, то почему это проблема безопасности?


person Avery    schedule 21.02.2010    source источник


Ответы (1)


это можно имитировать загрузку «Ajax», как указано -form/1686682#1686682">здесь. Связан с событием «onchange» на входе, которое запускает загрузку. И стилизовать input type="file", как описано здесь, чтобы он выглядел как одна кнопка.

person Fabien Ménager    schedule 21.02.2010