Sie müssen das file:///
Protokoll verwenden (ja, das sind drei Schrägstriche), wenn Sie eine Verknüpfung zu lokalen Dateien herstellen möchten.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
Diese öffnen die Datei in Ihren lokalen Anwendungen niemals automatisch. Das ist aus Sicherheitsgründen, die ich im letzten Abschnitt behandeln werde. Wenn es geöffnet wird, wird es immer nur im Browser geöffnet. Wenn Ihr Browser die Datei anzeigen kann, wird er Sie andernfalls wahrscheinlich fragen, ob Sie die Datei herunterladen möchten.
Moderne Versionen vieler Browser (z. B. Firefox und Chrome) weigern sich, vom http-Protokoll zum Dateiprotokoll zu wechseln, um böswilliges Verhalten zu verhindern. Sie müssen Ihre Webseite lokal mithilfe des Dateiprotokolls öffnen, wenn Sie dies überhaupt tun möchten.
Warum bleibt es ohne stecken file:///
?
Der erste Teil einer URL ist das Protokoll. Ein Protokoll besteht aus ein paar Buchstaben, dann einem Doppelpunkt und zwei Schrägstrichen. HTTP://
und FTP://
sind gültige Protokolle; C:/
ist nicht und ich bin mir ziemlich sicher, dass es nicht einmal richtig einem ähnelt.
C:/
ist auch keine gültige Webadresse. Der Browser könnte davon ausgehen, dass http://c/
ein leerer Port angegeben ist, aber das wird fehlschlagen.
Ihr Browser geht möglicherweise nicht davon aus, dass er sich auf eine lokale Datei bezieht. Es gibt wenig Grund, diese Annahme zu treffen, da öffentliche Websites normalerweise nicht versuchen, auf die lokalen Dateien der Menschen zu verlinken.
Wenn Sie also auf lokale Dateien zugreifen möchten, weisen Sie sie an, das Dateiprotokoll zu verwenden.
Warum drei Schrägstriche?
Weil es Teil des Datei-URI-Schemas ist . Sie haben die Möglichkeit, nach den ersten beiden Schrägstrichen einen Host anzugeben. Wenn Sie die Angabe eines Hosts überspringen, wird lediglich davon ausgegangen, dass Sie auf eine Datei auf Ihrem eigenen PC verweisen. Dies bedeutet, file:///C:/etc
ist eine Abkürzung für file://localhost/C:/etc
.
Diese Dateien werden weiterhin in Ihrem Browser geöffnet und das ist gut so
Ihr Browser reagiert auf diese Dateien genauso wie überall im Internet auf dieselbe Datei. Diese Dateien werden in Ihrem Standard-Dateihandler (z. B. MS Word oder VLC Media Player) nicht geöffnet, und Sie können den Datei-Explorer nicht bitten, den Speicherort der Datei zu öffnen.
Dies ist eine sehr gute Sache für Ihre Sicherheit.
Websites in Ihrem Browser können nicht sehr gut mit Ihrem Betriebssystem interagieren. Wenn ein guter Standort Ihrer Maschine offen sagen konnte lecture.mp4 in vlc.exe , eine bösartige Site könnte es zu offen sagen virus.bat in CMD.exe . Oder es könnte einfach Ihren Computer anweisen, einige Uninstall.exe- Dateien auszuführen oder den Datei-Explorer millionenfach zu öffnen.
Dies mag für Sie nicht bequem sein, aber die HTML- und Browsersicherheit wurde nicht wirklich für das entwickelt, was Sie tun. Wenn Sie Vorlesung.mp4 in VLC.exe öffnen möchten, sollten Sie stattdessen eine Desktop-Anwendung schreiben.
Not allowed to load local resource
Fehler gibt)Wenn Sie IIS auf Ihrem PC ausführen, können Sie das Verzeichnis, das Sie erreichen möchten, als virtuelles Verzeichnis hinzufügen. Klicken Sie dazu mit der rechten Maustaste auf Ihre Site in ISS und klicken Sie auf "Virtuelles Verzeichnis hinzufügen". Benennen Sie den virtuellen Ordner. Zeigen Sie mit dem virtuellen Ordner auf Ihren Ordner auf Ihrem lokalen PC. Sie müssen auch Anmeldeinformationen angeben, die über Berechtigungen für den Zugriff auf den bestimmten Ordner verfügen, z. HOSTNAME \ Benutzername und Passwort. Danach können Sie wie jede andere Datei auf Ihrer Site auf die Datei im virtuellen Ordner zugreifen.
http://sitename.com/virtual_folder_name/filename.fileextension
Dies funktioniert übrigens auch mit Chrome, das sonst die Dateiprotokolldatei nicht akzeptiert: //
Hoffe das hilft jemandem :)
quelle
Janky bestenfalls
Klicken Sie mit der rechten Maustaste, wählen Sie die Option "Speicherort kopieren" und fügen Sie sie in die URL ein.
quelle
zurück bis 2017:
Verwenden Sie URL.createObjectURL (Datei) , um einen lokalen Link zum vom Benutzer ausgewählten Dateisystem zu erstellen.
Vergessen Sie nicht, mit URL.revokeObjectURL () Speicher freizugeben.
quelle
Ich habe einen Weg und arbeite so:
quelle