1

我试图让用户从他们的计算机中选择一个文件并开始播种,我已经按照这里的示例进行操作。我使用的是普通输入,而不是使用拖放,因为我无法让它工作。

Now whenever a file is selected I get this error:

未捕获的错误:文件系统路径在浏览器中不起作用

如何在不将文件上传到我的服务器的情况下从用户的计算机开始播种?

4

1 回答 1

2

我认为您尝试使用 读取文件file:///,但出于安全原因,这是不可能的。必须从用户那里选择或拖放文件。最简单的解决方案是使用按钮:

function readFile(evt) {
  var file = evt.target.files[0]
  if (!file) {
    return
  }
  var reader = new FileReader()
  reader.onload = evt => {
    var contents = evt.target.result
    console.log(contents)
  }
  reader.readAsText(file)
}
<input type="file" onchange="readFile.call(this, event)" />

使用此代码段,您无需与服务器进行任何交互即可读取文件,这对于像 torrent 这样的无服务器技术是理想的。

于 2016-07-07T17:45:51.007 回答