Comment ouvrir un fichier de disque local avec JavaScript ?

J'ai essayé d'ouvrir le fichier avec

window.open("file:///D:/Hello.txt");

Le navigateur ne permet pas d'ouvrir un fichier local de cette manière, probablement pour des raisons de sécurité. Je veux utiliser les données du fichier du côté client. Comment puis-je lire un fichier local en JavaScript ?

La [facilité HTML5 fileReader][1] vous permet de traiter des fichiers locaux, mais ceux-ci DOIVENT être sélectionnés par l'utilisateur, vous ne pouvez pas aller fouiller sur le disque de l'utilisateur à la recherche de fichiers.

Je l'utilise actuellement avec les versions de développement de Chrome (6.x). Je ne sais pas quels autres navigateurs le prennent en charge.

[1] : http://dev.w3.org/2006/webapi/FileAPI/

Commentaires (2)

Vous ne pouvez pas. Les nouveaux navigateurs comme Firefox, Safari, etc. bloquent le protocole "fichier". Il ne fonctionnera que sur les anciens navigateurs.

Vous devrez télécharger les fichiers que vous voulez.

Commentaires (0)

Javascript ne peut généralement pas accéder aux fichiers locaux dans les nouveaux navigateurs mais l'objet XMLHttpRequest peut être utilisé pour lire des fichiers. C'est donc bien Ajax (et non Javascript) qui lit le fichier.

Si vous voulez lire le fichier abc.txt, vous pouvez écrire le code comme :

var txt = '';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
  if(xmlhttp.status == 200 && xmlhttp.readyState == 4){
    txt = xmlhttp.responseText;
  }
};
xmlhttp.open("GET","abc.txt",true);
xmlhttp.send();

Maintenant, txt contient le contenu du fichier abc.txt.

Commentaires (5)