代码之家  ›  专栏  ›  技术社区  ›  tomermes

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

  •  10
  • tomermes  · 技术社区  · 7 年前

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

    Delete folder in Google Cloud Storage using nodejs gcloud api

    但如何重命名文件夹?还是换条路?

    2 回复  |  直到 7 年前
        1
  •  11
  •   Stephen    7 年前

    你可以尝试这样的方法:

    '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)
    
        2
  •  3
  •   jarmod    7 年前

    没有文件夹。有一个简单的对象集合,所有对象碰巧具有相同的键前缀,例如 photos/animals/cat.png photos/animals/dog.png 两者都有一个共同的前缀 photos/animals/

    照片/动物/cat.png photos/pets/cat.png 移动 照片/动物/狗.png photos/pets/dog.png .

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