Как получить полный путь загружаемого файла(JavaScript) - CodeHelper

Как получить полный путь загружаемого файла(JavaScript)

2

Как получить полный путь загружаемого файла(JavaScript) у input type="file" value выдаёт только имя файла

Лучший ответ:

1

Известно, что не все браузеры скрывают полный путь к файлу. IE7, например, этот путь показывает. В Firefox когда-то тоже можно было получить полный путь, вот соответствующий баг, который сейчас исправлен. На форуме Firefox есть тема Firefox 3 don't copy complete path file, в которой обсуждается этот вопрос. Из предложенных решений можно отметить:

1) Трюк с OnBlur — Создается дополнительное скрытое поле, которое будет хранить полный путь к файлу. Элементу input с type=file на событие OnBlur устанавливается код, который копирует текст (который и является путем к файлу) и помещает этот текст в скрытое поле. Затем значение текстового поля можно использовать как на клиенте так и на сервере. Не известно, работает ли этот трюк во всех версиях Firefox

2) Использование компонента nsIDOMFile. Firefox не дает узнать путь к файлу, но позволяет получить сами данные из этого файла в виде DataUri. Например, такой код позволяет извлечь из input[type=file] картинку и назначить ее элементу img для предпросмотра.

var oImg = document.getElementById('oBannerPreviewImg');
oImg.src = document
    .getElementById('oUploadPicture')
    .files[0]
    .getAsDataURL();

Оба названных трюка могут работать в Firefox, но в остальных браузерах нужно искать другие решения.

Новые ответы


1

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


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.