URL-адрес общей папки Windows
Есть ли способ включить рабочую ссылку на общую папку Windows на HTML-страницу? Например. ссылка на \\server\folder\path
?
Для простоты, скажем, страница будет открыта на компьютере под управлением Windows (и в той же интрасети, где находится server
).
Я пробовал несколько трюков с помощью схемы file://
, но никто из них не работал.
Ответы
Ответ 1
Я думаю, что есть две проблемы:
- Вам нужно избежать косой черты.
- Безопасность браузера.
Пояснение:
-
Я проверил один из моих, у меня есть шаблон:
<a href="file://///server01\fshare\dir1\dir2\dir3">useful link </a>
Обратите внимание, что после протокола мы закончили с 5 косой чертой (file:
)
-
Firefox попытается предотвратить межсайтовый скриптинг. Моим решением было изменить prefs.js в каталоге профиля. Вы добавите две строки:
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "http://mysite.company.org");
Ответ 2
URI файлов протокола похожи на
файл://[HOST]/[PATH]
почему вы часто видите такие URL-адреса файлов (3 слэша):///c:\path...
Итак, если хост - server01, вы хотите
файл://server01/папка/путь....
Это соответствует странице wikipedia в файлах://протоколы и проверяет метод .NET Uri.IsWellFormedUriString.
Ответ 3
Если вам разрешено идти дальше, то объекты javascript/html - я бы использовал веб-сервер Apache для представления вашего списка каталогов через http.
Если это решение подходит. это следующие шаги:
-
загрузить apache hhtp server из одного из зеркал http://httpd.apache.org/download.cgi
-
распаковать/установить (если msi) в каталог, например C:\opt\Apache (инструкция для Windows)
-
отобразите сетевой forlder в качестве локального диска в Windows (\ server\folder, чтобы разрешить использование диска H:)
-
открыть файл conf/httpd.conf
-
убедитесь, что следующая строка присутствует и не комментируется
LoadModule autoindex_module modules/mod_autoindex.so
-
Добавить конфигурацию каталога
<Directory "H:/path">
Options +Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
7. Запустите веб-сервер и убедитесь, что каталог из удаленной папки доступен по http. ударить localhost/path
8. используйте рамку внутри своей веб-страницы для доступа к списку
Что пропущено:
1. Вам требуется больше причудливой конфигурации для имени хоста, обратитесь к документам Apache Web Server. Зарегистрировать имя хоста на DNS-сервере
- отображение на сетевой диск может не работать, я не проверял. Как возможное решение - размещайте свой веб-сервер на том же компьютере, что и сервер smb.
Ответ 4
Это зависит от того, как вы хотите его включить.
Сценарий
1. нажмите ссылку
2. Появилось окно проводника.
<a href="\\server\folder\path" target="_blank">click</a>
Если есть потребность в воображаемом пользовательском интерфейсе - тогда он вряд ли будет служить решением.