我使用的是 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/