为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用JavaScript打开本地磁盘文件?

如何使用JavaScript打开本地磁盘文件?

慕侠2389804 2019-06-18 16:51:14
如何使用JavaScript打开本地磁盘文件?我试图用window.open("file:///D:/Hello.txt");浏览器不允许以这种方式打开本地文件,可能是出于安全原因。我想在客户端使用文件的数据。如何用JavaScript读取本地文件?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

这个HTML 5文件阅读器设施确实允许您处理本地文件,但这些文件必须由用户选择,您不能在用户磁盘上生根查找文件。

我目前在Chrome(6.x)的开发版本中使用这个。我不知道其他浏览器支持它。


查看完整回答
反对 回复 2019-06-18
?
智慧大石

TA贡献1946条经验 获得超3个赞

因为我没有生命,我想要这四个名望点,这样我就可以向那些真正擅长编码的人表达我的爱(请给出答案),我分享了我的改编。保罗·莫雷蒂密码。就用openFile(函数以文件内容作为第一个参数执行。).

function dispFile(contents) {

  document.getElementById('contents').innerHTML=contents

}

function clickElem(elem) {

  // Thx user1601638 on Stack Overflow (6/6/2018 - https://stackoverflow.com/questions/13405129/javascript-create-and-save-file )

  var eventMouse = document.createEvent("MouseEvents")

  eventMouse.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)

  elem.dispatchEvent(eventMouse)

}

function openFile(func) {

  readFile = function(e) {

    var file = e.target.files[0];

    if (!file) {

      return;

    }

    var reader = new FileReader();

    reader.onload = function(e) {

      var contents = e.target.result;

      fileInput.func(contents)

      document.body.removeChild(fileInput)

    }

    reader.readAsText(file)

  }

  fileInput = document.createElement("input")

  fileInput.type='file'

  fileInput.style.display='none'

  fileInput.onchange=readFile

  fileInput.func=func

  document.body.appendChild(fileInput)

  clickElem(fileInput)

}

Click the button then choose a file to see its contents displayed below.

<button onclick="openFile(dispFile)">Open a file</button>

<pre id="contents"></pre>


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 3691 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信