最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

网站源码admin22浏览0评论

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

使用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,
    })
})

发布评论

评论列表(0)

  1. 暂无评论