在Javascript中读取用户选择的文件?

时间:2015-02-02 14:49:38

标签: javascript jquery file-get-contents readfile

我已经环顾了一会儿,仍然没有找到一个令人满意的简单答案(被认为是受欢迎的)问题。解决方案要么直接将文件发送到后端,要么过于复杂。

我有这个:

$("#"+id+" input").change(function() {
    file = $(this).prop('files')[0]
    var reader = new FileReader();
    readed = reader.readAsBinaryString(file)
    console.log(readed)
});

这给了我undefined。有没有简单的方法来读取用户选择的文件并阅读内容?

1 个答案:

答案 0 :(得分:2)

readAsBinaryString是一个异步函数。它不会返回数据。

您需要创建一个事件处理程序,该事件处理程序在读取数据时触发,然后从FileReader对象中读取它。

var file = $(this).prop('files')[0]
var reader = new FileReader();
reader.onloadend = function () {
  console.log(reader.result);
}
reader.readAsBinaryString(file)