使用Node.js从Google Cloud Platform存储桶中获取文件夹列表

编程入门 行业动态 更新时间:2024-10-08 10:53:04

使用Node.js从Google Cloud Platform存储桶中获取<a href=https://www.elefans.com/category/jswz/34/1771393.html style=文件夹列表"/>

使用Node.js从Google Cloud Platform存储桶中获取文件夹列表

我想在Node.js应用程序上显示Google Cloud Storage存储桶中的所有文件夹,但只有getFiles()函数。

例如,一个名为/ abc的文件夹,其中有2个文件/ a/ b。我只想得到/ abc /而没有// abc / a/ abc / b

app.js

router.get('/', async(req, res) => {
  let bucketName = 'my-bucket'

  const storage = Storage();

  const [files] = await storage.bucket(bucketName).getFiles();
  let app = [];
  for (const file of files) {
    const [metadata] = await file.getMetadata();
    app.push(metadata);
  };
  res.render('views/list.ejs', {
    apps : app, 
  });
  });
回答如下:

值得注意的是,就像AWS上的S3。 GCS没有“目录”,但有路径。

https://cloud.google/storage/docs/gsutil/addlhelp/HowSubdirectoriesWork

您可以从GCS返回的对象上从.name访问文件名。您可以在.getFiles()调用中添加前缀。

router.get('/', async (req, res) => {
    const bucketName = 'my-bucket'

    const storage = Storage()

    const [files] = await storage.bucket(bucketName).getFiles({ prefix: '/abc'})
    const objectNames = files.map(file => file.name)

    res.render('views/list.ejs', {
        apps: objectNames,
    })
})

更多推荐

使用Node.js从Google Cloud Platform存储桶中获取文件夹列表

本文发布于:2024-05-07 06:05:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754691.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件夹   列表   js   Node   Google

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!