Debe usar el file:///
protocolo (sí, son tres barras) si desea vincular a archivos locales.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
Estos nunca abrirán el archivo en sus aplicaciones locales automáticamente. Eso es por razones de seguridad que cubriré en la última sección. Si se abre, solo se abrirá en el navegador. Si su navegador puede mostrar el archivo, lo hará, de lo contrario, probablemente le preguntará si desea descargar el archivo.
Las versiones modernas de muchos navegadores (por ejemplo, Firefox y Chrome) se negarán a pasar del protocolo http al protocolo de archivo para evitar comportamientos maliciosos. Tendrá que abrir su página web localmente utilizando el protocolo de archivo si quiere hacer esto.
¿Por qué se queda atascado sin file:///
?
La primera parte de una URL es el protocolo. Un protocolo son unas pocas letras, luego dos puntos y dos barras. HTTP://
y FTP://
son protocolos válidos; C:/
no lo es y estoy bastante seguro de que ni siquiera se parece a uno.
C:/
Tampoco es una dirección web válida. El navegador podría suponer que está destinado a tener http://c/
un puerto en blanco especificado, pero eso fallará.
Es posible que su navegador no suponga que se refiere a un archivo local. Tiene pocas razones para hacer esa suposición porque los sitios públicos generalmente no intentan enlazar a los archivos locales de las personas.
Entonces, si desea acceder a archivos locales: dígale que use el protocolo de archivo.
¿Por qué tres cortes?
Porque es parte del esquema de URI de archivo . Tiene la opción de especificar un host después de las dos primeras barras. Si omite especificar un host, simplemente asumirá que se está refiriendo a un archivo en su propia PC. Esto significa que file:///C:/etc
es un atajo para file://localhost/C:/etc
.
Estos archivos aún se abrirán en su navegador y eso es bueno
Su navegador responderá a estos archivos de la misma manera que respondería al mismo archivo en cualquier lugar de Internet. Estos archivos no se abrirán en su controlador de archivos predeterminado (por ejemplo, MS Word o VLC Media Player), y no podrá hacer nada como pedirle al Explorador de archivos que abra la ubicación del archivo.
Esto es algo extremadamente bueno para su seguridad.
Los sitios en su navegador no pueden interactuar muy bien con su sistema operativo. Si un sitio bueno podría indicar a la máquina para abrir lecture.mp4 en vlc.exe , un sitio malicioso podría decir que se abra virus.bat en CMD.exe . O simplemente podría indicarle a su máquina que ejecute algunos archivos Uninstall.exe o abra File Explorer un millón de veces.
Puede que esto no sea conveniente para usted, pero la seguridad de HTML y del navegador no se diseñó realmente para lo que está haciendo. Si usted quiere ser capaz de abrir lecture.mp4 en vlc.exe que no hacer una aplicación de escritorio en su lugar.