3

好的,所以我看到了很多关于使用 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 上传它。谁能告诉我我做错了什么?

4

1 回答 1

13

实例的大多数方法FileReader异步报告结果。

您必须绑定一个onload事件来捕获结果:

var fileReader = new FileReader();
fileReader.onload = function(event) {
    console.log(event.target.result);
};
fileReader.readAsDataURL(document.getElementById("userfile").files[0]);
于 2013-04-14T11:50:32.570 回答