Javascript firefox中未定义filereader
我使用以下方法通过FileReader API处理文件上传,在Firefox 31.0中我似乎没有获得reader对象:Javascript firefox中未定义filereader,javascript,firefox,filereader,Javascript,Firefox,Filereader,我使用以下方法通过FileReader API处理文件上传,在Firefox 31.0中我似乎没有获得reader对象: var processFileUpload = function(event) { var fileInput = event.target; var file = fileInput.files[0]; if (typeof file !== 'undefined' && file !== null && file.h
var processFileUpload = function(event) {
var fileInput = event.target;
var file = fileInput.files[0];
if (typeof file !== 'undefined' && file !== null && file.hasOwnProperty('size') && file.size > 0) {
var reader = new FileReader();
reader.onload = function(e) {
file_url = reader.result;
saveFile(file_url, file.name, file.type, file_category);
};
reader.readAsDataURL(file);
}
};
在firebug中,我在两行上有一个断点:
reader.readAsDataURL(file);
及
当我选择一个文件时,它在第一个断点上按预期中断:reader.readAsDataURLfile
要达到这一点,它必须通过var reader=newfilereader
此时相关变量的值为:
file = { size: 21720, type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", name: "Example.docx", path: "", lastModifiedDate: Date 2014-08-14T09:29:49.000Z, mozFullPath: "" }
reader = undefined
文件_url=reader.result上的断点;永远不会被击中
为什么读者是未定义的?为什么它的onload会被调用?我哪里出错了?你有什么错误?我没有任何错误。我根本没有得到任何回应。如果我去掉所有断点,那么应该在reader.onload中执行的代码就不会被调用。试着添加一个onerror处理程序,看看是否会触发错误。这很奇怪。我添加了一个OneRor,它不会被解雇,但现在我得到了一个FileReader对象,并且一切正常:/
file = { size: 21720, type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", name: "Example.docx", path: "", lastModifiedDate: Date 2014-08-14T09:29:49.000Z, mozFullPath: "" }
reader = undefined