3

FileReader を使用すると、Chrome でローカル ファイルを読み取ることができます。

function readMultipleFiles(evt) {
    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;
                    document.getElementById("output").innerHTML = contents;
                };
            })(f);
            r.readAsText(f);
        }
    } else {
        alert("Failed to load files");
    }
}
document.getElementById('fileinput').addEventListener('change', readMultipleFiles, false);​

jsfiddle.net で例を実行

しかし、この例は Internet Explorer 9 では機能しません
。IE9 は File API をサポートしていますか?
はいの場合 - IE9 でローカル ファイルを読み取るにはどうすればよいですか?

4

5 に答える 5

3

ActiveX の FileSystemObjectを使用できます。

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();
于 2012-09-11T06:58:53.727 に答える
1

一般的にいいえ。ローカル ファイルの読み取りは、重大なセキュリティ違反です。

于 2012-09-11T06:56:51.547 に答える
1

ハイパーテキスト アプリケーション (.hta) を作成するとFileSystemObject、ローカル ファイル システムにアクセスできる ActiveX オブジェクトを作成できます。

于 2012-09-11T06:56:11.500 に答える
0

IE9 はファイル API をサポートしていますか?

いいえ、そうではありません

はいの場合 - IE9 でローカル ファイルを読み取るにはどうすればよいですか?

いいえの場合ですか?その場合は、ActiveX を使用するか、Web サイトのこの機能がブラウザーでサポートされていないことをユーザーに通知し、ファイルをサーバーにアップロードできるようにすることができます。

于 2012-09-11T06:56:01.137 に答える