6

我刚刚看到 mozilla File API 文件读取为

new FileReader();

等等,我必须问IE是否有类似的东西?

4

2 回答 2

8

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

于 2011-07-15T16:53:29.587 回答
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 过滤的情况下进行浏览,这意味着您无法触摸他们的文件系统,或在他们的浏览器中运行任何类型的插件。

于 2012-06-13T19:55:37.603 回答