Node.js用户试图使用常规javascript+;html

Node.js用户试图使用常规javascript+;html,javascript,html,node.js,file,upload,Javascript,Html,Node.js,File,Upload,到目前为止,我所有的Node.js代码都可以无缝地用于我所从事的任何javascript+HTML项目。因此,我产生了一个错误的概念,即Node.js和vanilla Javascript+HTML之间存在一对一的对应关系。当我试图在网页中利用Node的“fs”模块来读取和处理文件时,打破了这个概念 我上传文件的节点方式如下: var fs = require("fs"); function processFile(filePath){ var fileText = fs.readFileS

到目前为止,我所有的Node.js代码都可以无缝地用于我所从事的任何javascript+HTML项目。因此,我产生了一个错误的概念,即Node.js和vanilla Javascript+HTML之间存在一对一的对应关系。当我试图在网页中利用Node的“fs”模块来读取和处理文件时,打破了这个概念

我上传文件的节点方式如下:

var fs = require("fs");
function processFile(filePath){
  var fileText = fs.readFileSync(filePath) + '';
  var linesOfText = fileText.split("\n");
  return linesOfText;
}
这将允许我以流的形式读取一个文件,我会立即将其转换为一个数组,然后以我想要的任何方式处理它

然而,当我试图使用普通的HTML+Javascript文件上传模式来表达东西时,我遇到了麻烦。我可以上传的文件刚刚好,但我不能处理他们

<input type="file" id="myFile" multiple size="50" onchange="myFunction()">
<script>
function myFunction(){
  var text = document.getElementById("myFile");
  var textArray = text.split("/n");
}
</script>
TypeError: text.split is not a function. (In 'text.split("\n")', 'text.split' is undefined)

函数myFunction(){
var text=document.getElementById(“myFile”);
var textArray=text.split(“/n”);
}
TypeError:text.split不是函数。(在“text.split(“\n”)中,“text.split”未定义)
我想我面临的一个问题是,上传文件后,我不知道我正在处理什么类型的数据,而在Node.js中,我能够处理文件并转换为数组/字符串,没有问题

谢谢你的帮助

谢谢,
Nakul

您可以使用FileReader API在浏览器中访问上载文件的内容:

      function myFunction() {
        var file = document.getElementById("myFile").files[0];
        if (file) {
          var reader = new FileReader();
          reader.readAsText(file, "UTF-8");
          reader.onload = (e) => {
            var text = e.target.result;
            var textArray = text.split("/n");
          };
          reader.onerror = (e) => {
            console.log("error reading file");
          };
        }
      }
请检查,仅供参考,浏览器没有文件系统(原因很明显)。