我有一些文件和文件夹存储在gcs中。我想获取所有给定特定目录的文件和文件夹。
我已经设法通过使用定界符和前缀来获取目录内的所有文件。但是响应是排除了我也想获得的子目录。
const prefix = `users/${currentUserName}/`;
const delimiter = "/";
const options = {
prefix: prefix
};
if (delimiter) {
options.delimiter = delimiter;
}
const [files] = await gcStorage.bucket(bucketName).getFiles(options);
我得到类似的输出:
用户/ kaisar /
用户/kaisar/Attendance.docx
users / kaisar / SampleAudio_0.4mb(1).mp3
我想要类似的输出:
用户/ kaisar /
用户/kaisar/Attendance.docx
users / kaisar / SampleAudio_0.4mb(1).mp3
用户/ kaisar / newFolder /
用户/ kaisar / video文件夹/
最佳答案
子目录作为响应中的CommonPrefixes返回(apiResponse.prefixes)
var query = {
delimiter: '/'
};
bucket.getFiles(query, function(err, files, nextQuery, apiResponse) {
// files is array of files
// apiResponse.prefixes is the same as CommonPrefixes
});
有关示例,请参阅文档:link