我试图允许用户从他们的计算机中选择一个文件并开始播种,我已经按照示例here进行了操作。我使用普通输入而不是拖放,因为我无法使用它。
现在无论何时选择文件,我都会收到此错误:
未捕获错误:文件系统路径在浏览器中不起作用
如何在不将文件上传到服务器的情况下从用户的计算机开始播种?
答案 0 :(得分: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这样的无服务器技术。