IE和本地文件读取

时间:2011-07-15 16:47:17

标签: javascript internet-explorer fileapi

我刚看过mozilla文件API文件读取为

new FileReader();

等。而我必须要问的是IE有类似的内容吗?

2 个答案:

答案 0 :(得分:8)

是的,您可以使用ActiveX' FileSystemObject。但是,每次运行代码时都会向用户显示一个确认框。某些用户可能不信任您,可能选择不运行ActiveX控件。 此外,请注意,一些用户还使用不支持FileReader的非IE浏览器(Safari,旧版本的Firefox等)。通过添加ActiveX,您仍然不会100%支持与文件相关的API。

答案 1 :(得分:8)

Internet Explorer 10还支持FileReader

var reader = new FileReader();
reader.onloadend = function(){
    // do something with this.result
}
reader.readAsText(readFile);

对于有关FileReader的托管兼容性表,请务必查看caniuse.com

如果您想为那些可能未在Internet Explorer 10中访问您网站的人提供回复,我建议您进行一些功能检测,以确定是否要使用FileReader:

if ( window.FileReader ) {
    /* Use the FileReader */
} else {
    /* Do something else */ 
}

另请注意,使用ActiveXObject方法并不一定会一直有效,因为某些用户在启用ActiveX Filtering的情况下浏览,这意味着您无法触及其文件系统或运行任何类型的插件在他们的浏览器中。