web-dev-qa-db-fra.com

Comment ouvrir le fichier local dans le navigateur

Le site Web contient une balise, où href est le chemin du fichier local . Par exemple, <a href="D:\test.txt">Link</a>. Cela ne fonctionne pas.

Comment le faire correctement? :) Il ne doit fonctionner que dans IE, les autres navigateurs ne sont pas nécessaires

6
Denis Sokolov

Ici, vous devez utiliser un protocole "fichier" pour lier un fichier au format HTML comme, 

<a href="file:///D:\test.txt">Link</a>

Le navigateur peut ou non ouvrir le fichier en raison des paramètres de sécurité. Vous pouvez cliquer sur le bouton droit et choisir "Copier l'adresse du lien" puis le coller dans le navigateur. 

6
Kungfu_panda

Je suis tombé sur le même problème et j'ai cherché une solution, mais je n'ai rien trouvé. File: // ne permettait pas d'ouvrir le fichier local et cela ne serait pas possible. 

Peut ne pas le résoudre pour tout le monde mais j'ai fait une solution de contournement en php en utilisant file_get_contents (). C'est une fonction en php qui récupère le contenu texte d'un fichier et le met dans une variable - ce qui vous permet d'accéder aux fichiers locaux sur un réseau. 

Donc, vous venez de créer un fichier php qui prend l'identifiant ou la chaîne du fichier et extrait les données et utilise php pour le mettre à l'écran de manière à ce que le navigateur soit concerné,

<a href='getContents.php?id=5'>

getContents.php

<?php
$id = $_GET['id'];
if(ctype_alnum($id)){//
//get file name from Database
$data[5]['file_path'] = 'file.htm';
$page = file_get_contents('//server//'.$data[$id]['file_path']);
echo $page;
}
?>
3
Bim

si vous voulez ouvrir les fichiers locaux avec le programme par défaut, vous pouvez vérifier mon protocole d’URL https://github.com/berti92/FileBridge

Installez-le et créez un lien avec le protocole url

<a href="filebridge:PASTE HERE THE PATH">Open me</a>
2
Berti92

Utilisez une file URI .

Impossible de le tester (pas de Windows/IE), mais cela devrait être:

file:///D:/test.txt

Voir également:

1
unor