web-dev-qa-db-fra.com

href = "fichier: //" ne fonctionne pas

J'ai un problème avec: href="file://" Bien, je veux pointer un lien en HTML vers un fichier, dans le navigateur si j'écris comme 

 file:///K:/filename.pdf

Cela fonctionne pour ouvrir un fichier, mais si je le pointe vers:

      href="http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf" 

Ça ne marche pas le lien est changé en:

file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf

La colon après que le fichier disparaisse. Des suggestions sur ce qu'il faut faire?

5
Sangsom

La raison pour laquelle votre URL a été réécrite sur file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf est que vous avez spécifié http://file://.

Le http:// au début est le protocole utilisé et votre navigateur supprime les deux-points deux-points (:) car il est invalide.

Remarque

Si vous créez un lien vers quelque chose comme

<a href="file:///K:/yourfile.pdf">yourfile.pdf</a>

Ce qui précède représente un lien vers un fichier appelé k:/yourfile.pdf sur le lecteur k: sur la machine sur laquelle vous affichez l’URL. 

Vous pouvez le faire, par exemple, le lien ci-dessous crée un lien vers C:\temp\test.pdf 

<a href="file:///C:/Temp/test.pdf">test.pdf</a>

En spécifiant fichier: //, vous indiquez qu'il s'agit d'une ressource locale. Cette ressource n'est PAS sur Internet.  

La plupart des gens n'ont pas de lecteur K: /.

Mais, si c’est ce que vous essayez d’atteindre, c’est bien, mais ce n’est pas ainsi qu’un lien "typique" sur une page Web fonctionne, et vous ne devriez pas le faire à moins que tous ceux qui vont accéder à votre lien y aient accès. sur le (même?) K:/lecteur (cela pourrait être le cas avec un lecteur réseau partagé).

Tu pourrais essayer

<a href="file:///K:/AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a>
<a href="AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a>
<a href="2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a>

Notez que http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf est un malformé

8
inspite

Bien que le fichier ffile: ////.exe fonctionnait auparavant (par exemple, certaines versions du début de HTML 4), il semble que HTML 5 ne permet pas cela. Testé avec les éléments suivants:

<a href="ffile:///<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://<path name>/<filename>.exe" TestLink /a> 
<a href="ffile:/<path name>/<filename>.exe" TestLink /a> 
<a href="ffile:<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://///<path name>/<filename>.exe" TestLink /a> 
<a href="file://<path name>/<filename>.exe" TestLink /a> 
<a href="file:/<path name>/<filename>.exe" TestLink /a> 
<a href="file:<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://///<path name>/<filename>.exe" TestLink /a>

ainsi que ... 1/a remplacé le "ffile" par juste "fichier" 2/toutes les variantes ci-dessus par le préfixe http: // précédant le fichier ou le fichier.

Le mieux que j'ai pu voir, c'est qu'il est possible que si l'on souhaite ouvrir (éditer) ou enregistrer le fichier, cela puisse être accompli. Cependant, le fichier exec ne serait pas exécuté autrement.

0
Roger Browne

%20 est l'espace entre SOP AmberCRO.

Essayer - 

href="http://file:///K:/AmberCRO SOP/2011-07-05/SOP-SOP-3.0.pdf"

Ou renommez le dossier AmberCRO-SOP et écrivez-le en tant que - 

href="http://file:///K:/AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf"
0
Dipak

Partagez votre dossier pour "tout le monde" ou un groupe spécifique et essayez ceci:

<a href="file://YOURSERVERNAME/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf"> Download PDF </a> 

0