【问题标题】:How can I get a list of files in a directory?如何获取目录中的文件列表?
【发布时间】:2020-09-11 08:10:22
【问题描述】:

我正在尝试制作一个简单的网页,您可以在其中输入目录路径,并列出该目录中的所有文件。有没有办法可以直接在带有 js 脚本的 .html 文件中执行此操作?我将路径作为变量。

我对这些编程语言非常陌生,对这些语言了解不多。

【问题讨论】:

    标签: javascript html list directory names


    【解决方案1】:

    网页无权访问客户端的文件系统。没有网站可以看到您的文件。

    但是,如果您谈论的是服务器端 JavaScript,那就不同了。服务器端的javascript文件列表可以通过这个实现:

    var fs = require('fs');
    var files = fs.readdirSync('/assets/photos/');
    

    参考:Get list of filenames in folder with Javascript

    希望有帮助

    【讨论】:

    • 我试过了,但是不行:Uncaught ReferenceError: require is not defined
    • FS - 文件保护程序,仅在不作为网页运行时定义。如果你有一个快速服务器,它会工作,但如果你只是制作一个 html 网站,那么它就不会工作。网页无法读取用户的文件
    【解决方案2】:

    编辑 1(使用 html 上传文件):

    您需要更具体。但我会假设您想导航到文件以在您的网页上上传一些文件:

    您可以这样做,当您按下按钮时,您可以在文件中导航并根据需要进行选择:

    <input type="file" name="" id="">
    

    EDIT 2(使用服务器语言处理文件):

    第一步:您需要一个语言服务器作为 php 或 nodejs(它在内部使用 javascript chromev8)。我建议你使用 nodejs,因为它对已经了解 javascript 的人来说更容易。

    如果你想要 nodejs,安装它: https://nodejs.org/en/ 。 如果你想要 php,你可以安装 apache xampp,它也安装一个版本的 mysql 数据库:https://www.apachefriends.org/index.html

    第二步:处理文件: phphttps://www.php.net/manual/en/intro.dio.php nodejs:https://nodejs.org/api/fs.html#fs_file_system(你需要了解同步和异步编程)。

    【讨论】:

    • 我要浏览服务器中的文件。
    • 好的,您可以这样做,但不能在客户端(前端)使用 html 或 javascript。您需要将服务器语言作为 php 或 javascript 与 nodejs(后端)一起使用。
    • 我想我需要更深入地研究这些。我不知道它们是如何工作的。我更像是一个蟒蛇人:D
    • 是的,你也可以使用 python。了解服务器语言的工作方式可能需要时间,但别担心,然后就变得容易了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 2019-01-03
    相关资源
    最近更新 更多