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

时间:2012-04-02 15:45:49

标签: javascript jquery html5 fileapi

我正在尝试使用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()函数?

1 个答案:

答案 0 :(得分:1)

files数组是<input type=file> DOMElement的属性。我不知道如何使用jQuery访问它,但您总是可以使用.get(0)从jQuery元素获取支持DOMElement,因此您可以在此处访问您的文件:

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

或使用普通的javascript:

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