我需要在客户端级别创建提取文件的签名,以便确定其文件类型。下面是我的文件输入对象:
<input id="test1" type="file">
我写了以下javascript代码:
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);
}
});
我遇到的麻烦是我的代码甚至没有进入onload
功能。
我做错了什么?
注意:我只使用普通的javascript进行编码,但我愿意使用Google Closure。
答案 0 :(得分:1)
为什么它会到达onload处理程序,FileReader永远不会读取任何内容。
您必须将文件作为
读取,将文件传递给fileReadervar 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]);
});