как выбрать папку с html входным файлом - PullRequest
0 голосов
/ 13 марта 2020

Я хочу выбирать только папки, когда нажимаю кнопку обзора. В моем проекте я использую IE по некоторым причинам. Я искал некоторые форумы, но я не нашел никакого полезного решения. После выбора папки я хочу показать путь к папке в текстовом поле. Так есть ли решение для этого?

Ответы [ 3 ]

0 голосов
/ 13 марта 2020

Вы можете выбрать только папки с тегом ввода в html, но в конце он выберет все файлы в этой папке, и вы не сможете найти путь к файлу в современных браузерах (по соображениям безопасности). JS не взаимодействует с файловой системой.

, но если ваша основная задача - чтобы пользователи выбирали только папки, вы можете использовать это:

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

Надеюсь, это поможет !!

0 голосов
/ 16 марта 2020

Во-первых, из документа MDN мы видим, что атрибут webkitdirectory не поддерживает браузер IE. Поэтому мы не можем использовать входной файл для выбора папки.

Кроме того, при использовании элемента входного файла для загрузки файла большинство браузеров (включая браузер IE11) будут давать вам только имя файла вместо полный путь. Если мы используем атрибут value для получения имени файла, он даст нам поддельный путь, например: "C: \ fakepath \ uploadfile.text". Это поведение браузера по умолчанию, чтобы предотвратить несоответствующее раскрытие информации.

Чтобы получить полный путь к файлу в браузере IE, мы можем включить настройку безопасности в Inte rnet Explorer (открыть Inte rnet Параметры , выбрать Безопасность , выберите « Пользовательский уровень ... », , включите , « Включите локальный путь к каталогу при загрузке файлов на сервер » и нажмите OK , чтобы сохранить изменения), после этого мы могли бы использовать свойство value, чтобы получить полный путь к файлу загрузки, а затем, в соответствии с ним, получить папку.

[ Примечание ] Предоставление полного пути к файлу считается уязвимостью безопасности и по умолчанию отключено . Из соображений безопасности я предлагаю вам не включать эту опцию и использовать этот метод для отображения папки.

0 голосов
/ 13 марта 2020

Нет.

Атрибут directory не поддерживается в IE, и даже там, где он поддерживается, исходный путь недоступен до JS.

...