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();

已成功读取文件。但是所有文件的一个字节是错误的。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