javascript – HTML5 FileReader问题

我正在使用谷歌浏览器浏览器,我在控制台中运行以下代码,这似乎工作,但当我在脚本中运行它不

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 – FileReader读取文件未定义的结果


下一篇:java基础---IO字符流