javascript - 使用 Javascript Fetch API 读取文件而不知道文件名

标签 javascript fetch-api

我有一个名为 ./text-files 的文本文件目录。我可以使用 fetch API 读取文件,如下所示:

fetch('./text-files/foo.txt')
  then(res => {
    return res.text()
  })
  .then(text => {
    console.log(text)
  })

fetch API 是否支持某种方式来读取文件目录,而无需知道文件的具体名称(仅知道文件扩展名)?

理想情况下,我想要某种方法来获取目录 ./text-files 中所有文件的列表,然后使用 fetch 连续读取每个文件。这可能吗?如果可以用 Javascript 从磁盘读取一个文件,我认为有某种方法可以获取文件列表并读取每个文件?

我试图做这样的事情,但没有成功:

fetch('./text-files/*.txt')
  then(res => {
    return res.text()
  })
  .then(text => {
    console.log(text)
  })

最佳答案

假设您尝试仅使用 fetch 从远程服务器目录读取所有文件,这是不可能的。您可以在远程计算机上创建一个 API 端点,该端点将返回一组文件。该远程 API 端点可以使用 Node 的 fs 模块以及以下内容:

fs.readdir(path, function(err, items) {
console.log(items);

for (var i=0; i<items.length; i++) {
    console.log(items[i]);
}});

一旦您获取了一组文件,您就可以将它们设置为使用 fetch api 单独获取。

关于javascript - 使用 Javascript Fetch API 读取文件而不知道文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50977430/

相关文章:

javascript - Request.body 为空对象

Javascript循环继续,还是中断显示?

javascript - 获取 : reject promise and catch the error if status is not OK?

javascript - "download"而不是 "open"一个文本文件

javascript - 如何限制 setInterval 完成的迭代次数

javascript - 使用 create-react-app 获取 api 数据

reactjs - 自定义 fetchBasequery 以进行错误处理

javascript - 如何使用 fetch api 获取 XML

javascript - 我该如何修复此错误 : "Uncaught TypeError: Cannot set property ' borderBottom' of undefined at "MyClassName" "?

javascript - 在 javascript 中使用 Math.random() 仅生成 2 个特定数字