文件夹列表"/>
使用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存储桶中获取文件夹列表
发布评论