如何访问文件夹目录中的所有项目?

时间:2020-01-21 04:11:16

标签: javascript

我想用Vanilla JS创建一个小网站,我快完成了。我认为,如果我能够通过向目录添加文件并让JS动态地将内容投放到网站上来更新目录,那将是节省时间的好方法。我知道设计不好,但是我的网站看起来像一个终端,所以我希望它看起来会很好。

因此在Python中,它看起来像这样:

import os
os.listdir("somedirectory")

它将在我指定的目录中打印项目。但是,您如何在JS中做同样的事情?我见过的唯一选项使用JQuery或Node.js,是否有任何“简单的简报”方式来完成此任务?

So, if I went to the Safety-Net directory I would see 'cover.jpg'

重要信息之一是声明这些文件夹将位于客户端,并且用户可以查看其中的所有文件。

编辑:我不想写文件,只是想读取它们。

https://estk.aenhancers.com/3%20-%20File%20System%20Access/using-file-and-folder-objects.html

2 个答案:

答案 0 :(得分:0)

如果不使用服务器端JS,JavaScript将无法访问文件,但是XMLHttpRequest对象可用于读取文件。您可以发送AJAX请求来读取文件,但是在服务器端的某些位置,您必须使用Nodejs或其他服务器端的JS lib访问文件系统

使用nodejs,您可以使用以下方法访问目录

https://nodejs.org/api/fs.html#fs_fspromises_readdir_path_options

https://nodejs.org/api/fs.html#fs_fs_readdirsync_path_options

https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback

这些是访问NodeJS目录中所有数据的几种选择

答案 1 :(得分:-1)

当前代码将给出文件夹中所有文件的列表,假设它在服务器端要列出所有文件:

app.get("/events", async (req, res, next) => {
  axios
    .get("http://open-api.myhelsinki.fi/v1/events/?language_filter=en")
    .then(response => res.send(response))
    .catch(err => res.status(500).send(err));
});