当用户使用HTML5 File API按下按钮时,如何读取本地文件?

我正在尝试使用jQuery和HTML5 File API从本地文件中获取数据。 我想读取文件并从中获取文本,但仅在用户按下按钮时,而不是在输入字段的内容发生变化时。

这是我目前使用的代码:

files = $("#file").files; var reader = new FileReader(); reader.onload = function(event) { var content = event.target.result; alert(content); agregar(content[0]); alert(content); } reader.readAsText(files[0]); 

当用户按下页面上的按钮时,将触发此代码。 我的问题是,当代码运行时, files是未定义的,所以我无法从中获取所需的数据。 如何获取输入文件的内容,以便将其作为参数传递给FileReader.readAsText()函数?

files数组是 DOMElement的属性。 我不知道如何使用jQuery访问它,但是你总是可以使用.get(0)从jQuery元素获得支持DOMElement,所以你可以在这里访问你的文件:

 var files = $('#file').get(0).files; 

或者使用普通的javascript:

 var files = document.getElementById('file').files;