У меня есть такой элемент ввода:

<input type="file" />

Мне нужно, чтобы окно проводника открывалось по определенному пути (например, C:/something/somthin_else), когда пользователь нажимает кнопку Browse....

Этот конкретный путь также может быть папкой пользователя, например My Documents или Downloads.

Это вообще возможно?

0
Alfredo M 17 Фев 2016 в 22:06

3 ответа

Лучший ответ

По соображениям безопасности это невозможно.

Аналогичный вопрос был задан здесь

Кнопка просмотра без загрузки файла в html

2
Evan Cowan 27 Фев 2018 в 18:04

Это невозможно по соображениям безопасности.

HTML и JavaScript предназначены для взаимодействия на стороне клиента. Выбор каталога осуществляется на стороне сервера.

На самом деле есть очень небольшой взлом, если вы используете Google Chrome

Для атрибута input[type=file] появился новый атрибут с именем webkitdirectory.

<input type="file" id="ctrl" webkitdirectory directory multiple/>

Это позволяет вам выбирать каталоги. Используйте атрибут multiple для браузеров, которые поддерживают выбор нескольких файлов, но не выбор каталога.

Однако он блокирует выбор отдельных файлов.

Я наткнулся на это при поиске в гугле

https://plus.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3

Не используйте это как решение этой проблемы. Как я уже сказал, это очень маленький прием.

0
Richard Hamilton 17 Фев 2016 в 19:15

Нет, это невозможно. В WWW вы не можете знать, какова структура каталогов в системах ваших посетителей, и если бы вы знали и могли, то это было бы полезной функцией для попыток обманом заставить пользователей загрузить файлы, которых они не должны. Браузеры не позволяют веб-странице влиять на то, где по умолчанию будет открываться файловый браузер.

0
Quentin 17 Фев 2016 в 19:09