2015-05-01 42 views
0

新手到HTML5文件上传功能,并发现我不能得到一个简单的XML文件上传,并能够获取文件内容到控制台。预期的行为是我选择一个XML文件,然后看到在控制台中呈现的内容。但是,我没有去过console.log步骤 - 似乎读者从未加载?任何建议来解决将不胜感激。HTML5文件上传脚本没有加载文件

<input type="file"></input> 
    <script> 
var upload = document.getElementsByTagName('input')[0]; 
    upload.onchange = function (e) { 
     e.preventDefault(); 
     var file = upload.files[0], reader = new FileReader(); 
     reader.onload = function (event) { 
     console.log('evt',reader.readAsText(file)); 
     }; 


    return false; 
}; 
</script> 

回答

0

所以你的reader.onload事件设置的功能,但你需要调用此之外reader.readAsText()功能。

因此,例如,你的代码更改为:

reader.onload = function(event) { 
    console.log(event); 
}; 
reader.readAsText(file); 

这样做是告诉reader,当你调用reader.readAsText(file)它应该运行你reader.onload定义的功能。

你以前在做什么都不会加载文件,因为你只是告诉读者在你的函数回调里面有readAsText,你告诉它在加载时运行!

+0

哈!我广泛的js技能脱颖而出。感谢Mike提供的非常迅速的帮助。我正在看它,但只是无法看到它,如果这是有道理的... – user1517566