javascript - HTML5 文件阅读器问题

标签 javascript google-chrome filereader

我使用的是 Google chrome 浏览器,我在控制台中运行以下代码,这似乎有效,但是当我在脚本中运行它时却没有

reader = new FileReader();
reader.readAsDataURL($("input[name='image']")[0].files[0]);
alert(reader.result)
somevarname=reader.result

控制台将结果显示为数据 url,但在脚本中 javascript 不会将结果分配给变量,并且 alert 是一个空字符串。我做错了什么?

最佳答案

FileReader 是异步的,因此在脚本中结果设置在之后

alert(reader.result)
somevarname=reader.result

被执行。 您必须使用 FileReader 的 onload 属性来获取结果。
示例:

var reader = new FileReader();
//This function will execute when the reader is done
reader.onload = function(){alert(this.result);};
reader.readAsDataURL($("input[name='image']")[0].files[0]);

要获得良好的 HTML5 文件 API 教程,请转至 HTML5 Rocks .

关于javascript - HTML5 文件阅读器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792030/

相关文章:

google-chrome - URL 是否有注释字符?

html - 新标签超链接到 PDF

css - Chrome 中的 Roboto 字体问题

java - 使用 contains() java 读取大文件并进行过滤

javascript - 将 8 添加到我的随机生成的数组中

javascript - 客户端未从 socket.io 中的服务器接收消息

javascript - 根据JSON信息定位HTML div

php - 解码未知结构的 JSON

java - 通过 JUnit 测试确认 FileReader 已正确关闭

angular - 如何在 Angular/Jasmine 中测试 Filereader.onload 回调函数?