Une URL vers un dossier partagé Windows [dupliquer]
cette question a déjà une réponse ici:
- créer un lien entre un lecteur réseau / UNC sur une page html 3 réponses
y a-t-il un moyen d'incorporer un lien working vers un dossier partagé Windows dans une page HTML? Par exemple: un lien vers serverfolderpath
?
pour simplifier, disons que la page sera ouverte sur une machine Windows (et sur le même intranet où se trouve bien sûr le server
).)
j'ai essayé quelques trucs avec file://
, mais aucun d'eux ne semblait fonctionner.
4 réponses
je pense qu'il y a deux questions:
- vous devez échapper aux entailles.
- sécurité du navigateur.
explication:
-
j'ai vérifié un des miens, j'ai le modèle:
<a href="file://///server01\fshare\dir1\dir2\dir3">useful link </a>
s'il vous plaît noter que nous avons fini avec 5 slashes après le protocole (
file:
) -
Firefox va essayer pour empêcher les scripts de sites croisés. Ma solution était de modifier le préfixe .js dans le répertoire de profil. Vous allez ajouter deux lignes:
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); user_pref("capability.policy.localfilelinks.sites", "http://mysite.company.org");
les URI du protocole de fichier sont comme ceci
fichier://[HÔTE]/[CHEMIN]
c'est pourquoi vous voyez souvent des URL de fichier comme ceci (3 slashes) fichier:///c:\path...
donc si l'hôte est server01, vous voulez
fichier://server01/dossier/chemin d'accès....
c'est selon la page wikipedia sur le fichier:// protocoles et vérifications avec Uri.net.Iswellformeduristring method.
si vous êtes autorisé à aller plus loin, alors les facilités javascript/html - j'utiliserais le serveur web apache pour représenter votre liste de répertoires via http.
si cette solution est appropriée. ce sont les étapes:
-
télécharger le serveur hhtp apache depuis l'un des miroirs http://httpd.apache.org/download.cgi
-
unzip/installer (si msi) à le répertoire E. g C:\opt\Apache (l'instruction est pour windows)
-
la carte du réseau forlder comme un disque local sur windows (\serveur\dossier à disons que le lecteur H:)
-
open conf/httpd.fichier conf
-
assurez-vous que la ligne suivante est présente et n'est pas commentée
LoadModule autoindex_module modules/mod_autoindex.so
-
ajouter configuration du répertoire
<Directory "H:/path">
Options +Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
7. Démarrez le serveur web et assurez-vous que la liste des répertoires du dossier distant est disponible par http. hit localhost/chemin
8. utilisez un cadre à l'intérieur de votre page web pour accéder à la liste
Ce qui est manqué: 1. vous n'avez pas besoin d'une configuration plus sophistiquée pour le nom d'hôte, reportez-vous à Apache Web Server docs. Enregistrer le nom d'hôte dans le serveur DNS
- le mappage du lecteur réseau peut ne pas fonctionner, je n'ai pas vérifié. Comme une résolution possible - héberger votre serveur web sur la même machine que le serveur smb.
Cela dépend de comment vous voulez l'intégrer. Scénario 1. cliquez sur un lien 2. la fenêtre explorer s'ouvre
<a href="\server\folder\path" target="_blank">click</a>
S'il y a un besoin dans un UI de fantaisie - alors il servira à peine comme une solution.