Cloudinary 生成的隐藏输入值
Cloudinary generated hidden input value
我正在使用 node.js 为 Cloudinary 生成直接上传文件标签
cloudinary.uploader.image_upload_tag('coverImage', {html: {'class': 'cloudinary-coverImage', format: 'jpg'}})
上传后,在表单末尾自动生成一个隐藏的 input
标签:
<input type="hidden" name="coverImage" value="image/upload/v1431361091/bns8et8ksrx3km5esdpj.jpg#d36285fd9bcccd5a2034b22ebf69d867fcee0bbc">
我意识到输入值不完全是文档中所说的 public id,所以当我将它存储在数据库中时,这不会生成正确的图像
cloudinary.image(abc.coverImage)
如何在隐藏输入值中获取图像的准确 public id?
TL;DR
隐藏输入标签值的格式是{resource_type}/{type}/v{version}/{public_id}.{format}#{signature}
。您需要 public_id,在您的示例中是 bns8et8ksrx3km5esdpj
.
详情
隐藏字段的值包括资源类型、版本、publicid和上传图片的签名。 public_id
是 URI 中哈希 (#) 之前的最后一部分。
请参阅 sample code, taken from the node.js controller 代码,了解处理上传结果的示例(为匹配您上面的示例,下面的 image_id
应替换为您为该字段指定的名称,即 coverImage
):
var Photo = schema.models.Photo;
var photo = new Photo(req.body);
var image = new cloudinary.PreloadedFile(req.body.image_id);
// check that image resolved from image_id is valid
if (image.is_valid()){
photo.image = image.toJSON();
console.dir(photo.image)
}
photo.save().then(function(photo){
console.log('** photo saved')
})
浏览器端
如果需要在浏览器端获取直接上传后的图片public_id
,需要监听"cloudinarydone"
事件:
$("body").on( "cloudinarydone", function(e, data) {
console.log(data.result.public_id);
});
我正在使用 node.js 为 Cloudinary 生成直接上传文件标签
cloudinary.uploader.image_upload_tag('coverImage', {html: {'class': 'cloudinary-coverImage', format: 'jpg'}})
上传后,在表单末尾自动生成一个隐藏的 input
标签:
<input type="hidden" name="coverImage" value="image/upload/v1431361091/bns8et8ksrx3km5esdpj.jpg#d36285fd9bcccd5a2034b22ebf69d867fcee0bbc">
我意识到输入值不完全是文档中所说的 public id,所以当我将它存储在数据库中时,这不会生成正确的图像
cloudinary.image(abc.coverImage)
如何在隐藏输入值中获取图像的准确 public id?
TL;DR
隐藏输入标签值的格式是{resource_type}/{type}/v{version}/{public_id}.{format}#{signature}
。您需要 public_id,在您的示例中是 bns8et8ksrx3km5esdpj
.
详情
隐藏字段的值包括资源类型、版本、publicid和上传图片的签名。 public_id
是 URI 中哈希 (#) 之前的最后一部分。
请参阅 sample code, taken from the node.js controller 代码,了解处理上传结果的示例(为匹配您上面的示例,下面的 image_id
应替换为您为该字段指定的名称,即 coverImage
):
var Photo = schema.models.Photo;
var photo = new Photo(req.body);
var image = new cloudinary.PreloadedFile(req.body.image_id);
// check that image resolved from image_id is valid
if (image.is_valid()){
photo.image = image.toJSON();
console.dir(photo.image)
}
photo.save().then(function(photo){
console.log('** photo saved')
})
浏览器端
如果需要在浏览器端获取直接上传后的图片public_id
,需要监听"cloudinarydone"
事件:
$("body").on( "cloudinarydone", function(e, data) {
console.log(data.result.public_id);
});