Web开发显示本地文件

时间:2015-10-19 13:38:06

标签: javascript filereader

根据研究,我发现了进入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>

1 个答案:

答案 0 :(得分:1)

用户使用文件输入选择文件时,除了通过File API之外,嵌入在网页中的JavaScript无法访问用户本地系统上的文件< / strong>即可。页面无法提供要打开的文件名。

&#13;
&#13;
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;
&#13;
&#13;