在Google云端存储中使用nodejs gcloud api移动/重命名文件夹

我正尝试使用gcloud api重命名或移动Google云端存储中的文件夹。

类似的问题解释了如何删除文件夹: 使用nodejs gcloud api删除Google云端存储中的文件夹

但是,如何重命名一个文件夹? 或移动到另一个path?

你可以尝试这样的事情:

'use strict' var async = require('async') var storage = require('@google-cloud/storage')() var bucket = storage.bucket('stephen-has-a-new-bucket') bucket.renameFolder = function(source, dest, callback) { bucket.getFiles({ prefix: source }, function(err, files) { if (err) return callback(err) async.eachLimit(files, 5, function(file, next) { file.move(file.name.replace(source, dest), next) }, callback) }) } bucket.renameFolder('photos/cats', 'photos/dogs', console.log) 

没有文件夹。 简单地说,所有的对象都有相同的关键字前缀,例如photos/animals/cat.pngphotos/animals/dog.png都有一个共同的前缀photos/animals/ ,这就是使它们看起来像在同一个文件夹中。

您将需要将每个对象复制(或移动)到其新的键,例如将photos/animals/cat.png移动到photos/pets/cat.png并将photos/animals/dog.png移动到photos/pets/dog.png

也就是说,Google Cloud提供了一种使用gsutil mv从命令行执行此操作的方法。