Как сказал Дуг, Google Cloud Storage покажет вам структуру разных каталогов, но на самом деле в корзинах нет папок.
Однако вы можете найти несколько обходных путей в вашем коде для создания этого самогота же структура папок самостоятельно.Для обходного пути, который я предложил, вам нужно использовать библиотеки, такие как shelljs , которые позволят вам создавать папки в вашей системе.
Следуя этому руководству по GCP в облачном хранилище, вы найдете примеры, например, как составить список или загрузить файлы из вашего хранилища.
Теперь, собрав все это вместе, вы можете получить полный путь к файлу, который вы собираетесь загрузитьпроанализируйте его, чтобы отделить папки от реального файла, затем создайте структуру папок, используя метод mkdir
из shelljs.
Для меня изменение метода загрузки файлов в учебнике было примерно таким:
var shell = require('shelljs');
[...]
async function downloadFile(bucketName, srcFilename, destFilename) {
// [START storage_download_file]
// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');
// Creates a client
const storage = new Storage();
//Find last separator index
var index = srcFilename.lastIndexOf('/');
//Get the folder route as string using previous separator
var str = srcFilename.slice(0, index);
//Create recursively the folder structure in the current directory
shell.mkdir('-p', './'+str);
//Path of the downloaded file
var destPath = str+'/'+destFilename;
const options = {
destination: destPath,
};
// Downloads the file
await storage
.bucket(bucketName)
.file(srcFilename)
.download(options);
console.log(
`gs://${bucketName}/${srcFilename} downloaded to ${destPath}.`
);
// [END storage_download_file]
}