使用Javascript Fetch API读取文件而无需知道文件名

时间:2018-06-21 21:06:04

标签: 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中所有文件的列表,然后使用访存顺序读取每个文件。这可能吗?如果可以用Java脚本从磁盘上读取一个文件,我想有某种方法可以获取文件列表并读取每个文件?

我正在尝试做类似的事情,但是没有用:

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

1 个答案:

答案 0 :(得分:1)

这是不可能的,前提是您尝试仅在使用访存时尝试从远程服务器目录中读取所有文件。您可以在远程计算机上创建一个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进行单独提取。