通过REST API向Cloudinary上传图片无法自动创建指定文件夹如何解决
Cloudinary指定folder参数未自动创建文件夹排查方案
- 检查上传预设的允许参数列表
你使用的unsigned上传预设默认会拦截未主动开启的自定义参数,进入Cloudinary控制台「设置→上传→上传预设」,找到你使用的MY_PRESET_NAME预设进入编辑页,在Allowed parameters 列表中勾选folder选项,否则formData中传入的folder参数会被云端直接丢弃。 - 校验folder参数格式
文件夹名称不要加前导斜杠(错误写法:/personal/photos,正确写法:personal/photos),同时不要包含? # % & * < > \ ^{ | } ~`等Cloudinary不支持的特殊字符。 - 确认签名包含folder参数(仅Signed上传模式需要)
如果你使用的是签名上传而非unsigned上传,必须将folder参数加入签名计算的参数列表,否则参数会被云端校验规则拦截。 - 检查账号角色权限
如果当前使用的是子账号,需要主账号在权限管理中为该账号开启「创建文件夹」的资源操作权限,否则自动创建文件夹操作会被权限规则拦截。 - 确认自动创建文件夹开关生效范围
你开启的Auto-create folders仅对可编程媒体(Programmable Media)产品线生效,若你使用的是DAM等其他产品线,需要单独开启对应产品线的自动创建文件夹配置。
修正后的参考代码如下:
const formData = new FormData(); formData.append('file', files[0]); // 文件夹名无需前导斜杠,多级目录直接用/分隔 formData.append('folder','FOLDER_NAME_HERE'); formData.append('upload_preset','MY_PRESET_NAME' ); return axios.post(ApiRoutes.CloudinaryImageUpload, formData);
内容的提问来源于stack exchange,提问作者Johneric
相关产品推荐
相关产品推荐

