0

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

4

1 回答 1

1

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

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

或者使用纯 JavaScript:

var files = document.getElementById('file').files;
于 2012-04-02T15:59:00.490 回答