FileReader无法正常工作?

时间:2013-03-13 14:21:34

标签: javascript file-io

这令人沮丧。我一直在Safari,Firefox和Chrome中运行此代码 - 所有最新版本 - 并且它不起作用。它适用于其他任何人吗?我从<input type='file' id='file' name='file'>

获取了我的文件参考
console.log("Have now created a new file reader and it looks like this..." + reader);
reader.onload = function() {
var contents = event.target.result;
console.log("File contents: " + contents );
};
reader.onerror = function(event) {
console.error("File could not be read! Code " + event.target.error.code);
};
reader.readAsText(file);    
}, false);

我做错了什么?

谢谢,

J.Wells

1 个答案:

答案 0 :(得分:3)

  

我做错了什么?

您似乎忘记了event处理程序的onload参数。您也可以使用event.target

,而不是使用reader

另外,在小提琴中,你以非常奇怪的方式创建FileReader。您可能需要阅读简介Using files from web applications at MDN

document.getElementById("file").addEventListener("change", function(e) {
    var file = e.target.files[0],
        reader = new FileReader();
    console.log("Have now created a new file reader and it looks like this..." + reader);
    reader.onload = function(event) {
//                           ^^^^^
        var contents = event.target.result;
        console.log("File contents: " + contents );
    };
    reader.onerror = function(event) {
        console.error("File could not be read! Code " + event.target.error.code);
    };
    reader.readAsText(file);    
}, false);