根据研究,我发现了进入FileReader用法的教程such as this one from Eric Bidelman。这些教程使用用户提供的文件,而不是本地文件。修改这些示例以尝试显示本地文件并不成功。
经过一些研究后我发现大多数浏览器默认不允许访问本地文件[1]。有些人建议使用不安全的模式进行测试,但这并不是我所寻求的,因为这只适用于我的测试[2]。
目前我允许下载日志文件。我在FileReader的目标是提供一种查看文件的方法。有没有办法实现这个目标?我提出了空白,几乎已经辞职只允许下载而不是添加观看。以下是本地文件读取的示例代码。此代码失败,因为' logpath'不是blob类型。我相信我的问题并不真正需要代码,但无论如何我提供了一个例子。
HTML代码
deterministicRandomBetween(min,max)
的Javascript
<select name="loglist" id="loglist" onchange="run()" size="2">
<option>stack1.log</option>
<option>stack2.log</option>
</select>
答案 0 :(得分:1)
当用户使用文件输入选择文件时,除了通过File API之外,嵌入在网页中的JavaScript无法访问用户本地系统上的文件< / strong>即可。页面无法提供要打开的文件名。
var inp = document.querySelector("input");
inp.addEventListener("change", show);
function show(e) {
var f = this.files[0];
var r = new FileReader();
r.addEventListener("load", display);
r.readAsText(f);
function display(e) {
document.body.appendChild(
document.createTextNode(
e.target.result
)
);
}
}
&#13;
<input type="file" id="input">
&#13;