我正在使用谷歌浏览器浏览器,我在控制台中运行以下代码,这似乎工作,但当我在脚本中运行它不
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.