javascript - Angular将csv文件上传到范围内而不发布到服务器

标签 javascript angularjs csv

我试图允许用户上传 CSV 文件,以便可以显示和验证值。我不想将文件直接上传到服务器,我希望将其保留在范围内,直到经过验证。

Angular 1.5.8 无法将文件的输入类型绑定(bind)到模型 see here 所以我正在考虑使用 angular-file-upload但所有选项似乎都需要上传到服务器。我找不到可以帮助我将输入类型文件纳入范围的库。

所以我的问题是:如何将 csv 文件放入 Angular 范围?

最佳答案

您可以使用 FileReader 来读取用户选择的文件(!)

您的文件输入:

<input type="file" id="fileInput"/>

监听元素上的更改事件:

document.getElementById("fileInput").addEventListener("change", function(e) {
   var file = e.target.files[0];
   if(!file)
      return;

   var reader = new FileReader();
   reader.onload = function(e) {
      var contents = e.target.result;
      // add it to a $scope variable
      $scope.fileContent = contents;
      $scope.$apply();    // if you are outside of the AngularJS digest cycle
   };
   reader.readAsText(file);       
}, false);

关于javascript - Angular将csv文件上传到范围内而不发布到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43495706/

相关文章:

javascript - 如何在 window.open() 中发布

javascript - 获取类型错误 : invalid 'in' operand obj while fetching data using ajax

python - 如何按从高到低对字母数字列表进行排序(Python)

java - 使用 struts 2 下载为 csv

javascript - 无法将 CSS 样式应用于 SVG 文本元素

javascript - 如何使用 AngularJS 从单个选择中获取多个模型值?

javascript - AngularJS-在一定时间限制后在页面之间切换

angularjs - 如何根据 bootstrap 网格系统使用 angularjs 指令设置 height = width 以获得方形 div?

java - 使用 Java 比较 Excel.csv 与 Oracle 数据库

javascript - 在网站上炫耀一个巨大的文本文件