You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何使用Node.js无法删除Cloudinary中的视频资源?

解决Cloudinary视频资源删除问题

你的代码没法删除视频,是因为Cloudinary的uploader.destroy方法默认只处理图片类型的资源,视频属于单独的video资源类型,必须显式指定参数。

修改后的代码如下:

const deleteFilesFromCloud = async function (filePublicId) {
    try {
        // 针对视频资源,指定resource_type为video
        const response = await cloudinary.uploader.destroy(filePublicId, {
            resource_type: 'video'
        });
        return response;
    } catch (error) {
        console.log('Error in deleting file from cloud');
        return null;
    }
}

如果你的场景里需要同时处理图片和视频,可以加个参数动态指定资源类型:

const deleteFilesFromCloud = async function (filePublicId, resourceType = 'image') {
    try {
        const response = await cloudinary.uploader.destroy(filePublicId, {
            resource_type: resourceType
        });
        return response;
    } catch (error) {
        console.log('Error in deleting file from cloud');
        return null;
    }
}

// 删除视频时调用
deleteFilesFromCloud('your-video-public-id', 'video');
// 删除图片时调用(无需传第二个参数,默认是image)
deleteFilesFromCloud('your-image-public-id');

原理很直接:Cloudinary会根据resource_type定位对应的资源存储分区,不指定的话默认只会去图片分区查找,自然找不到视频资源,也就无法完成删除操作。

内容的提问来源于stack exchange,提问作者Pulkit Singhal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:59:52