2012-03-18 8 views
1

ファイルをローカルで選択し、それを解釈するために1行ずつテキストを読むのに使用しようとしています。私のプログラムは、テキストファイルを読んで質問を読んで、テストプログラムを作ることを目的としています。ファイルはアップロードしてはならず、ローカルでのみ読み込むべきです。解決策がchromeとfirefoxでのみ機能するのは大丈夫です。JavaScriptを使ってローカルテキストファイルを読むにはどうすればよいですか?

私は多くのことを調べてみましたが、これまでのところ、セキュリティ上の理由で不可能であるか、正しくは動作しません。 I

これは私の現在のコードです: http://pastebin.com/uKvEfvZZ

+1

Hiya、これは役立つかもしれない:http://stackoverflow.com/questions/7466387/read-2-text-files-with-javascript ;乾杯! –

答えて

4

使用HTML5 file API。ファイルをローカルで選択して読むことができます。

+0

これは私が以前に試したことです。それは適切に動作していないようだ。 –

+0

最新のブラウザでのみサポートされています。 xdazzのデモを確認してください – Nemoy

+0

これは動作しますが、ローカルではありません(at least at chrome atleast)。私はそれについて誰もが更新するのを忘れてしまった。私はウェブホストでそれを試したとき、それは完璧だった。 –

5

ここには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

これまでと同様のコードを使用しました。これは、多くの助け、ありがとう! –

+0

純粋なJSで書かれた素晴らしい例!ありがとう – Michael

関連する問題