Мне нужно разрешить пользователям приложения открывать папку, щелкая ссылку на веб-странице. Путь к папке находится в сети и доступен отовсюду. Я наверное уверен, что нет простого способа сделать это, но может я ошибаюсь?
Мне нужно разрешить пользователям приложения открывать папку, щелкая ссылку на веб-странице. Путь к папке находится в сети и доступен отовсюду. Я наверное уверен, что нет простого способа сделать это, но может я ошибаюсь?
Ответы:
Вы хотите открыть общую папку в проводнике Windows? Вам нужно использовать file:
ссылку, но есть предостережения:
file://server/share/folder/
).file://///server/share/folder
) и пользователь отключил ограничение безопасности для file:
ссылок на странице, обслуживаемой через HTTP . К счастью, IE также принимает искаженную форму ссылки.file:
ссылку на странице, обслуживаемой через HTTP.URL-адрес file://[servername]/[sharename]
должен открывать окно проводника для общей папки в сети.
убедитесь, что права доступа к вашей папке установлены так, что разрешен список каталогов, а затем просто укажите привязку к этой папке с помощью chmod 701 (хотя это может быть рискованно), например
<a href="./downloads/folder_i_want_to_display/" >Go to downloads page</a>
убедитесь, что у вас нет index.html любого индексного файла в этом каталоге
Использование file: ///// просто не работает, если настройки безопасности установлены даже на средний уровень.
Если вы просто хотите, чтобы пользователи могли загружать / просматривать файлы *, расположенные в сети или совместно используемые, вы можете настроить виртуальный каталог в IIS. На вкладке «Свойства» убедитесь, что выбран «Общий ресурс, расположенный на другом компьютере», а «Подключиться как ...» - это учетная запись, которая может видеть сетевое расположение.
Ссылка на виртуальный каталог со своей веб-страницы (например, http: // yoursite / yourvirtualdir / ), и это откроет представление каталога в веб-браузере.
* Вы можете разрешить права на запись в виртуальный каталог, чтобы пользователи могли добавлять файлы, но не пробовали, и предполагать, что сетевые разрешения переопределяют этот параметр.
Не работает в Chrome, но другие ответы предлагают решение через плагин:
Немного поздно на вечеринку, но я должен был решить это для себя недавно, хотя и немного по-другому, это все равно может помочь кому-то в обстоятельствах, похожих на мои.
Я использую xampp на ноутбуке для запуска чисто локального веб-приложения в Windows. (Я знаю очень специфическую среду). В этом случае я использую html-ссылку на файл php и запускаю:
shell_exec('cd C:\path\to\file');
shell_exec('start .');
Откроется окно локального проводника Windows.
Надеюсь, это когда-нибудь поможет кому-то. Я делал небольшой POC и наткнулся на это. Кнопка, onClick отображает содержимое папки. Ниже HTML,
<input type=button onClick="parent.location='file:///C:/Users/' " value='Users'>