Javascript:onload事件未到达Javascript';s文件阅读器API

Javascript:onload事件未到达Javascript';s文件阅读器API,javascript,html,Javascript,Html,我需要在客户端级别创建并提取文件的签名,以便确定其文件类型。下面是我的文件输入对象: <input id="test1" type="file"> 退房 我遇到的问题是,我的代码甚至没有进入onload功能 我做错了什么 注意:我只使用普通javascript编写代码,但我愿意使用Google Close。为什么它会到达onload处理程序,FileReader永远不会读取任何内容 您必须通过将文件作为某种内容读取来将其传递给fileReader var fileInput = d

我需要在客户端级别创建并提取文件的签名,以便确定其文件类型。下面是我的文件输入对象:

<input id="test1" type="file">
退房

我遇到的问题是,我的代码甚至没有进入
onload
功能

我做错了什么


注意:我只使用普通javascript编写代码,但我愿意使用Google Close。

为什么它会到达onload处理程序,FileReader永远不会读取任何内容

您必须通过将文件作为某种内容读取来将其传递给fileReader

var fileInput = document.getElementById('test1');
fileInput.addEventListener('change', function(e) {
    console.log("file selected");
    var reader = new FileReader();
    reader.onload = function(e) {
        console.log("loaded");
        var file_slice = gcUploadFile.slice(0,4);
        console.log(file_slice);
        var arr_buffer = reader.readAsArrayBuffer(file_slice);
        console.log(arr_buffer);
    }

    reader.readAsBinaryString(e.target.files[0]);

});
var fileInput = document.getElementById('test1');
fileInput.addEventListener('change', function(e) {
    console.log("file selected");
    var reader = new FileReader();
    reader.onload = function(e) {
        console.log("loaded");
        var file_slice = gcUploadFile.slice(0,4);
        console.log(file_slice);
        var arr_buffer = reader.readAsArrayBuffer(file_slice);
        console.log(arr_buffer);
    }

    reader.readAsBinaryString(e.target.files[0]);

});