首页 > 解决方案 > Cloud Functions 删除文件夹:TypeScript

问题描述

我的存储桶budget-32bfc包含以下文件夹;
--+ Folder1 --+ Folder2 --+ Folder3

我想从 Cloud Functions中删除Folder1 。

尝试 1:

gcs.bucket("budget-32bfc").file('Folder1').delete().then(() => {
        console.log("Folder Deleted");
    }).catch(function (error) {
        console.log("Error listing users:", error);
    });

尝试 2:

admin.bucket("budget-32bfc").file('Folder1').delete().then(() => {
        console.log("Folder Deleted");
    }).catch(function (error) {
        console.log("Error listing users:", error);
    });

两次尝试都给了我一个404 Error: 'No such object: budget-32bfc/Folder1'.

怎么删除文件夹??

标签: typescriptfirebasegoogle-cloud-storagegoogle-cloud-functionsfirebase-storage

解决方案


1.7.x 版本具有以下返回 Promise 的方法:

删除文件(查询,回调)

它将尝试删除指定文件夹中的每个文件(也是文件夹)。如果删除一个文件失败,则停止该过程。(使用 'force: true' 覆盖此行为)。

bucket.deleteFiles({
    prefix: `${userId}/images`
})
.catch( (err) => {
    console.log(`Failed to delete all images of user ${userId}`);
});

官方文档:Storage - deleteFiles

在这里找到另一个解决方案:单击

(注意:我不能将此线程标记为重复,因为我只有 13 个代表点,请停止删除我的评论,因为其他人可能需要看到这个,谢谢)


推荐阅读