【发布时间】:2020-09-11 08:10:22
【问题描述】:
我正在尝试制作一个简单的网页,您可以在其中输入目录路径,并列出该目录中的所有文件。有没有办法可以直接在带有 js 脚本的 .html 文件中执行此操作?我将路径作为变量。
我对这些编程语言非常陌生,对这些语言了解不多。
【问题讨论】:
标签: javascript html list directory names
我正在尝试制作一个简单的网页,您可以在其中输入目录路径,并列出该目录中的所有文件。有没有办法可以直接在带有 js 脚本的 .html 文件中执行此操作?我将路径作为变量。
我对这些编程语言非常陌生,对这些语言了解不多。
【问题讨论】:
标签: javascript html list directory names
网页无权访问客户端的文件系统。没有网站可以看到您的文件。
但是,如果您谈论的是服务器端 JavaScript,那就不同了。服务器端的javascript文件列表可以通过这个实现:
var fs = require('fs');
var files = fs.readdirSync('/assets/photos/');
参考:Get list of filenames in folder with Javascript
希望有帮助
【讨论】:
FS - 文件保护程序,仅在不作为网页运行时定义。如果你有一个快速服务器,它会工作,但如果你只是制作一个 html 网站,那么它就不会工作。网页无法读取用户的文件
编辑 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(你需要了解同步和异步编程)。
【讨论】: