好吧所以我看过很多关于使用readAsDataURL()的例子和问题,但是它们似乎都没有解决我的问题。以下是我的代码:
$(document).ready(function(){
var fileReader = new FileReader();
$("form").submit(function(e){
e.preventDefault();
console.log(fileReader.readAsDataURL(document.getElementById("userfile").files[0]));
});
});
我在控制台中得到的是undefined
。我试图在变量上获取base64编码的文件数据,以便我可以使用ajax上传它。谁能告诉我我做错了什么?
答案 0 :(得分:8)
FileReader
实例的大多数方法都异步报告结果。
您必须绑定onload
事件才能捕获结果:
var fileReader = new FileReader();
fileReader.onload = function(event) {
console.log(event.target.result);
};
fileReader.readAsDataURL(document.getElementById("userfile").files[0]);