从 Ractive on-change 事件获取文件内容

Get file contents from Ractive on-change event

我正在尝试获取附加到文件输入的 CSV 文件的 headers。我在文件输入更改时触发一个函数,检查事件中是否有任何文件,然后启动 FileReader onload,这样我就可以获取内容,但不会触发 onload 函数。有什么我想念的吗?

Ractive.on('getHeaders', function(target) {
  // Check that the file is a file
  if(target.node.files !== undefined) {
    var reader = new FileReader();
    var headers = [];

    reader.onload = function(e) {
      console.log(e);
    };
  }
});

您需要将文件传递给 reader,如下所示:

Ractive.on('getHeaders', function(target) {
  // Check that the file is a file
  if(target.node.files !== undefined) {

    var headers = [];
    target.node.files.forEach(function(file){

    var reader = new FileReader();

    reader.onload = function(e) {
      console.log(e);
      console.log(reader.result);
    };

   reader.readAsDataURL(file);

   });      
  }
});