【发布时间】:2018-04-11 22:04:43
【问题描述】:
我在我的网络应用程序中使用 FileReader 来读取用户选择的本地文件,当我 readAsText() 完成后,readyState 应该更改为“2”。这是我的代码:
var fr = new FileReader(); // readyState is 0
var filetoload = $("#foo")[0].files[0];
fr.readAsText(filetoload); // readyState should be 2!!
var xml = fr.result;
localStorage.setItem('foo', xml);
现在在 Firefox 中,一切正常,xml 被写入 localStorage 也很好。如果我在控制台中以静止状态执行此 Chrome(假设在 #foo 输入中指定了一个文件),那么它也可以正常工作。但是,如果我从我的 .jsp 文件中的脚本标记正常运行它,那么在上面的第 3 行之后,readyState = 1 (!)。而且,如果我在第 3 行设置断点,然后尝试从控制台读取 asText(),它也会设置 readyState = 1。
Chrome 在执行过程中需要什么来完全读取文件?我究竟做错了什么?它仅在控制台中处于静止状态时才在 Firefox 和 Chrome 中工作的事实让我相信 Chrome 需要更多的东西来允许这个或其他东西。感谢任何见解,谢谢。
【问题讨论】:
-
为什么投反对票?
标签: javascript google-chrome filereader