我无法弄清楚在使用Cloudinary执行overwrite
时如何unsigned uploads
图像。
我的所有用户都可以从我的数据库访问他们的_id
,他们使用这个想法执行首次上传,这很正常:
$('.upload_form').append($.cloudinary.unsigned_upload_tag("my_preset",
{
cloud_name: "...",
public_id: "...." //There goes each of my user's unique id
overwrite: true //That' where I hope to overwrite previous imgs
// in case user does another submission.
}
一般的想法是仅根据用户id
投放所有图片,因此我不必将网址存储在我的数据库中。上一代码的主要问题是它抛出以下 POST错误:
POST 400 Bad Request, Preview {msg:"Overwrite When using unsigned upload only upload_preset,callback,public_id,folder,tags,context,face_coordinates,custom_coordinates upload parameters are allowed"}
我不明白,因为基于错误消息的唯一额外参数是cloud_name
。我无法删除它,否则我会收到另一个逻辑错误:invalid request
我查看过该文档,但目前还不是很清楚。以前有人遇到过这个问题吗?使用未签名的上传覆盖图像?
由于
答案 0 :(得分:3)
未签名的上传不支持overwrite
参数。由于未签名的上传在安全方面存在一些漏洞,如果启用了覆盖,任何人都可以在覆盖您帐户的现有资源的同时获取您的代码并上传新图片,不仅是他们自己的图片,还有其他人。
如果您需要允许覆盖图像,您可能需要考虑切换到已签名的上传。