Это невозможно, даже если ссылаться на файл с использованием file://
не будет работать, так как когда вы получите значение из поля ввода файла, вы получите только имя файла, а не путь. Поэтому невозможно определить, где находится изображение. Чтобы заставить его работать, вам придется использовать Flash-загрузчик.
Это, безусловно, мера безопасности, поскольку Internet Explorer дает вам путь, единственное, что всегда есть c:\fakepath\filename.png
. Я предполагаю, что браузеры делают свою работу, не позволяя JavaScript получать какую-либо значимую информацию из файловой системы.
возвращаемые значения для различных браузеров при попытке загрузить файл C:\test.txt
:
Firefox 3.5.6
test.txt
Chrome 3.0.195.38
test.txt
Opera 10.00
C:\fake_path\test.txt
Internet Explorer 8
C:\fakepath\test.txt
Не уверен, но путь по файлу и использование файла: // протокол может это сделать. – Lazarus
Кажется, что идти по пути невозможно. Еще одна мера безопасности. – niaher