Вы не можете, по крайней мере, не во всех браузерах.
Это связано с тем, что некоторые браузеры предоставляют полный путь к <input type='file'>
- таким образом вы можете попытаться показать элемент на жестком диске пользователя (не пропустите настройки безопасности определенных браузеров)
Другие браузеры просто предоставляют имя файла - здесь вам нечего показать.
Что вы всегда можете сделать, это загрузить файл с помощью jQuery (.ajax, чтобы страница не обновлялась), а затем показать его пользователю. В наше современное время загрузка файла не вызывает особого беспокойства (особенно если вы предоставляете анимацию во время ее работы).
Если вам действительно нужна эта функция, вы всегда можете использовать Java-апплет (например, facebook или imageshack) для предварительного просмотра. Хотя не у каждого пользователя (достаточно свежая версия) Java установлена и включена.
Если вы все еще хотите реализовать это для браузеров, которые предоставляют полный путь (скажем, вы работаете в корпоративной среде, и все используют один и тот же браузер, или у вас он грациозно ухудшается, и вы просто предлагаете эту функцию пользователям, для которых это работает), вы просто используете .val()
из <input type='file'>
, чтобы получить путь к имени файла. Добавить file://
перед и отобразить (сбросить в img
или около того)
Подробнее: