2012-03-18 1 views
1

J'essaie d'utiliser pour sélectionner un fichier localement et lire le texte dans la ligne pour l'interpréter. Mon programme est destiné à lire un fichier texte et lire des questions de celui-ci pour faire un programme de prise de test. Le fichier ne doit pas être téléchargé et seulement lu localement. C'est correct si la solution ne fonctionne que sur chrome et firefox.Comment lire dans un fichier texte local avec javascript?

J'ai essayé de regarder à travers beaucoup de choses, mais jusqu'ici ce que je vois est que ce n'est pas possible pour des raisons de sécurité, ou c'est mais cela ne fonctionne pas correctement. Je

Voici mon code actuel: http://pastebin.com/uKvEfvZZ

+1

Hiya, cela pourrait aider: http://stackoverflow.com/questions/7466387/read-2-text-files-with-javascript ; à votre santé! –

Répondre

4

Utilisez HTML5 file API. Il vous permet de sélectionner et de lire les fichiers localement.

+0

C'est en fait ce que j'avais déjà essayé. Cela ne semblait pas fonctionner correctement. –

+0

Il est pris en charge uniquement dans les navigateurs modernes. Vérifiez la démo xdazz – Nemoy

+0

cela fonctionne, mais pas localement (sur chrome atleast). J'ai oublié de mettre à jour tout le monde là-dessus. Quand je l'ai essayé sur un hébergeur c'était parfaitement bien. –

5

Voici un demo.

html:

<input type="file" id="fileinput" multiple /> 

js:

function readMultipleFiles(evt) { 
    //Retrieve all the files from the FileList object 
    var files = evt.target.files; 

    if (files) { 
     for (var i = 0, f; f = files[i]; i++) { 
      var r = new FileReader(); 
      r.onload = (function (f) { 
       return function (e) { 
        var contents = e.target.result; 
        alert(contents); 
       }; 
      })(f); 
      r.readAsText(f); 
     } 
    } else { 
     alert("Failed to load files"); 
    } 
} 
document.getElementById('fileinput').addEventListener('change', readMultipleFiles, false);​ 
+0

J'ai utilisé un code similaire à celui-ci avant, apparemment j'ai eu quelques erreurs. Cela a aidé beaucoup, merci! –

+0

Super exemple écrit en pur JS! Merci – Michael

Questions connexes