1

IE 8 & 9 で JavaScript を使用してローカル ファイルを読み込もうとしています。

私のスクリプト:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.OpenTextFile(file_name, 1, true);
var file_content = file.ReadAll();
file.Close();

ファイルは正常に読み取られています。しかし、すべてのファイルの 1 バイトが間違っています。file_content.charCodeAt(8)私に戻ります1038が、そうあるべきです161。そして、ファイルと同じ他のいくつかのバイト。

私のデータファイルは次のとおりです。

0000000000: 03 0C 0A 1A 01 00 00 00 │ A1 00 1F 00 00 00 00 00
0000000010: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000020: 4F 42 4A 45 43 54 49 44 │ 00 00 00 4E 00 00 00 00
0000000030: 04 02 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000040: 58 00 00 00 00 00 00 00 │ 00 00 00 4E 00 00 00 00
0000000050: 0A 02 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000060: 59 00 00 00 00 00 00 00 │ 00 00 00 4E 00 00 00 00
0000000070: 0A 02 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000080: 56 41 4C 55 45 00 00 00 │ 00 00 00 4E 00 00 00 00
0000000090: 06 02 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000A0: 0D 20 31 2E 30 30 31 34 │ 36 38 35 39 33 2E 30 30
00000000B0: 35 33 33 31 38 38 35 2E │ 30 30 31 30 30 2E 30 30
00000000C0: 1A                      │

PS私は次のコードでMozilla Firefox、Chrome、およびChromiumでこのファイルを読みました:

var reader = new FileReader();

if (jQuery.browser.mozilla) {
  slice = file.mozSlice(0, file.size);
}
else {
  slice = file.slice(0, file.size);
}

reader.onload = function(e) {
  if (e.target.readyState == FileReader.DONE) {
    file_content = e.target.result;
  }
};

そして、このブラウザfile_content.charCodeAt(8)で私に戻ります161

この場合、アドバイスいただけますか?私は何か間違ったことをしているかもしれません。

4

0 に答える 0