【问题标题】:How to get the contents of the directory from local PC in javascript如何在javascript中从本地PC获取目录的内容
【发布时间】:2012-11-29 11:10:51
【问题描述】:

如何在 javascript/jQuery 中从本地 PC 获取目录的内容? 例如来自C:\Images

【问题讨论】:

  • 您可以为此使用 nodejs... 无法使用 vanilla javascript/jquery
  • 你的意思是在浏览器中?值得庆幸的是,如果没有插件,这是不可能的,因为这会侵犯隐私。
  • 无法使用客户端脚本。

标签: javascript jquery html


【解决方案1】:

这仅适用于谷歌浏览器:

<input type="file" webkitdirectory>

这将提示用户选择一个目录,然后您可以访问输入的files 属性以查看包含的文件。

然后可以使用File System API 为用户选择的文件构建一个虚拟的沙盒文件系统,并以编程方式访问这个虚拟文件系统,就好像它是一个由桌面应用程序访问的真实文件系统一样。

没有其他办法,因为那将是一个很大的安全问题

谷歌浏览器中的工作演示:http://jsfiddle.net/JwgqC/

【讨论】:

  • 是的,非常有用,例如媒体播放器应用程序可以选择音乐文件夹然后构建播放列表。
  • '虚拟的沙箱文件系统' ...我猜不会有刷新?
  • Firefox 现在部分支持此功能:developer.mozilla.org/en-US/docs/Web/API/…
【解决方案2】:

在这里您可以使用文件APIS通过html5和javascript读取本地文件

http://www.html5rocks.com/en/tutorials/file/dndfiles/

【讨论】:

    【解决方案3】:

    出于安全原因,Javascript/Jquery 无法访问本地文件系统。这是不可能的。所以尝试一些服务器端基本代码。

    【讨论】:

      【解决方案4】:

      现在,几年后,accessing to local files 在 Chrome AND Firefox(52.8,但更新 Firefox 很容易)中运行良好。它也适用于 IE 11。

      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8">
      <title>files</title>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
      </head>
      <body>
      <script>
      // Check for the various File API support.
      if (window.File && window.FileReader && window.FileList && window.Blob) {
        // Great success! All the File APIs are supported.
      } else {
        alert('The File APIs are not fully supported in this browser.');
      }
      </script>
      </body>
      </html>
      

      【讨论】:

        【解决方案5】:

        您可以使用 php、ruby、java 等技术编写脚本,该脚本将列出所有文件,然后通过 ajax 将此信息发送到您的浏览器。

        但由于安全限制,您不能仅通过 javascript 执行此操作。

        【讨论】:

          【解决方案6】:

          我认为这是不可能的,因为访问本地文件系统是一个可怕的安全风险。

          【讨论】:

            【解决方案7】:

            Javascript 无法访问用户驱动器。那将是一个很大的安全问题,不是吗? :D

            相反,您需要使用其他技术,例如 flash 或 java-applet。

            【讨论】:

            • Flash 也不能没有提示,但如果 java 小程序已签名(1 年费用 499 美元)并且用户接受它,则 java 小程序可以访问本地文件系统。
            【解决方案8】:

            无法从浏览器通过 javascript 访问本地文件系统,这很好!

            【讨论】:

              猜你喜欢
              • 2023-03-20
              • 1970-01-01
              • 1970-01-01
              • 2023-01-12
              • 1970-01-01
              • 2012-02-22
              • 1970-01-01
              • 2017-06-05
              • 1970-01-01
              相关资源
              最近更新 更多