Лучше всего использовать хорошо документированный трюк, будет в конечном счете включать скрытие элемента ввода файла в качестве дочернего элемента div, разработанного в соответствии с вашими потребностями. Я говорю, что это хорошо документировано, так как это очень часто задаваемые вопросы здесь, на SO, и распространяется на многие другие сайты и сообщения в блогах в Интернете.
Не используйте javascript для ввода элемента ввода файла. Вероятно, вы столкнетесь с ограничениями безопасности, установленными браузерами. Некоторые браузеры могут даже не допускать этого. Другие, такие как IE, будут вызывать ошибку безопасности при попытке отправить файл через javascript после использования javascript, чтобы щелкнуть элемент ввода файла.
Если вы хотите избежать повторного создания колеса, вы можете использовать предварительно созданную библиотеку, которая обрабатывает сложность загрузки файлов в разных браузерах. Я рекомендую Fine Uploader. Он хорошо поддерживается, достаточно активен и быстро развивается. Полное раскрытие информации: Я являюсь основным разработчиком этой библиотеки.
вы можете сделать это с помощью html5, или вы можете использовать любой плагин для загрузки, Google, и вы найдете хорошие плагины. –