【问题标题】:how get list of files in a folder using javascript如何使用javascript获取文件夹中的文件列表
【发布时间】:2013-12-14 10:28:22
【问题描述】:

我正在开发桌面应用程序项目。我正在使用 Qt 带有 Visual C++ 的控件。 我在 QWebView 中加载一个 html 文件,

m_pWebView->load(QUrl("../../../demo/index_Splash_Screen.html"));

现在,我想要的是,比如说,我的位置“c:\demo”中有一些 .zip 文件,我想要该目录中存在的文件的列表(或文件名数组)。

我怎样才能通过 javascript 做到这一点?

PS:我通过了这个link,但它不符合我的要求。我没有使用过 html、javascript 和 jquery。请帮帮我。

【问题讨论】:

  • 不要认为你可以.. 但解决方案是创建一个服务(例如 REST),它返回您想要的文件夹中的文件列表,然后使用 jquery 调用该服务..
  • 有没有人有使用 Qt 控件的经验? Qt 控制 QWebView 是否会按预期工作,使用这个:codeproject.com/Articles/2019/Find-files-with-JavaScript

标签: javascript html visual-c++-2010-express


【解决方案1】:

恐怕由于安全问题,您无法使用 javascript 访问本地文件或目录。

编辑:我没有考虑过文件 api 所以想了一会儿这可能不是真的,但是如果没有一些用户输入来授予权限,这仍然无法完成。

This question得到PhilNicholas的好评:

恐怕我可能会为您的设计带来坏消息:动作 您的请求明确违反了指定的安全模型 在文件 API 规范中。 FileReader() 的客户端实现必须 确保“FileReader 对象正在读取的所有文件 已首先由用户选择。”(W3C 文件 API,13. 安全性 注意事项:http://www.w3.org/TR/FileAPI/#security-discussion)。

浏览器脚本可能会带来巨大的安全风险 在没有任何用户的情况下任意打开和读取路径中的任何文件 相互作用。没有浏览器制造商会允许不受限制地访问 整个文件系统都是这样的。

但是考虑一下,如果它全部在本地运行,您可以使用 ajax 查询可以返回您请求的目录的服务器端脚本。

【讨论】:

  • 你知道Qt控件QWebView是否按预期工作,使用这个:codeproject.com/Articles/2019/Find-files-with-JavaScript
  • 不幸的是,我无法对此发表评论,但由于 Qt 是面向跨平台的,我猜测底层渲染引擎可能是 Webkit。在这种情况下,我怀疑它是否会根据该链接工作,“您的浏览器应该有权运行 ActiveX 对象”,我认为这超出了 Webkit 的能力。
  • 谢谢您,先生。但我想知道,IT 行业发展如此之快,我们仍然面临着没有解决方案的问题......:(
  • 在某些方面我希望这是一个没有得到解决的问题。任何网站上的 javascript 都能够在未经许可的情况下访问我的文件的想法是一个可怕的想法。也许你可以看看 HTML5 中的 WebSocket,你可以让你的桌面应用程序向 WebSocket 提供文件目录请求?我知道一个丑陋的解决方案,但它们都是针对这个问题的。
【解决方案2】:

如果它是一个 Windows 应用程序,那么您可以使用 ActiveX 对象访问本地文件系统。你可以看看这个链接Reading a txt file from Javascript

请注意,只有在使用 IE 作为浏览器/引擎时才可以使用 activeX;前段时间我曾经需要它来开发一个 HTML 应用程序(.hta 文件)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2016-09-03
    • 1970-01-01
    • 2014-01-21
    • 2011-04-29
    • 1970-01-01
    相关资源
    最近更新 更多