3

您可以重命名Google雲端存儲中的文件嗎?重命名Google雲端存儲中的文件?

我讓用戶上傳照片,但我想讓他們能夠編輯照片,至少通過更改他們上傳照片的名稱。我通過Node.js使用Javascript。

謝謝!

+1

哪些API您使用的?你會想要做一個副本,然後刪除。 – jterrace

+0

我正在使用雲存儲和gcloud,它們都不支持複製或移動文件 – user3826544

回答

2

此命令:

gsutil mv gs://my_bucket/olddir gs://my_bucket/newdir 

將做的工作。如果你有大量的文件,你需要做一個多處理的舉動,所以用這個命令:

gsutil -m mv gs://my_bucket/olddir gs://my_bucket/newdir 

你可以找到在docs此信息。

+4

要清楚:gsutil mv將重命名,但它不是原子操作:它會執行復制,然後爲每個對象執行刪除操作重命名。 –

+0

但這是從命令行,有沒有辦法從我的服務器端Node.js代碼做到這一點? – user3826544

+1

要從您的代碼執行此操作,您需要執行一個副本,然後對每個正在重命名的對象執行刪除操作。 –

-1

這裏是Python函數執行多線程/多處理的舉動:

from subprocess import call, CalledProcessError 

def rename_object(self, old_dir, new_dir): 
    base_cmd = ["gsutil", "-m", "mv"] 
    old_path = "gs://{}".format(old_dir) 
    new_path = "gs://{}".format(new_dir) 
    cmd = base_cmd + [old_path, new_path] 
    try: 
     call(cmd) 
    except CalledProcessError as e: 
     print e 
相關問題