这是关于通过小部件进行cloudinary上传的代码,不幸的是我收到了上传错误...我正在使用localhost,并且放置此代码的页面是add.php页面
<script src="//widget.cloudinary.com/global/all.js" type="text/javascript"></script>
<script type="text/javascript">
var generateSignature = function(callback, params_to_sign){
$.ajax({
url : "http://localhost/add.php?public_id=sample_image×tamp=1315060510",
type : "GET",
dataType: "text",
data : { data: params_to_sign},
complete: function() {console.log("complete")},
success : function(signature, textStatus, xhr) { callback(signature); },
error : function(xhr, status, error) { console.log(xhr, status, error); }
});
}
</script>
<script type="text/javascript">
$('#upload_widget_opener').cloudinary_upload_widget(
{ cloud_name: 'dammiunparere', api_key: '189XXXX42445355',
upload_signature: generateSignature},
function(error, result) { console.log(error, result) });
</script>
答案 0 :(得分:0)
最近试图解决这个问题。这是一个简单的解决方案:
它需要在您的服务器上有脚本来生成签名,在这种情况下,它是名为&#34; add.php&#34;的文件。它应该包含类似的内容:
<?php
define('CINCDIR', './inc/cloudinary/'); // path to cloudinary lib folder
require_once(CINCDIR . 'Cloudinary.php');
require_once(CINCDIR . 'Api.php');
if(isset($_GET['data']))
{
echo \Cloudinary::api_sign_request($_GET['data'], '[PUT CLOUDINARY API SECRET HERE]');
}
?>
用您的cloudinary api secret替换 [PUT CLOUDINARY API SECRET HERE] 。
此脚本需要cloudinary的PHP集成库。您应该可以从以下链接下载它: https://github.com/cloudinary/cloudinary_php/tarball/master。 将所有文件从src文件夹复制到PHP项目中,并在代码中包含Cloudinary的PHP类:
require_once(CINCDIR . 'Cloudinary.php');
require_once(CINCDIR . 'Api.php');
此外,关于上述示例中的JavaScript,您不需要在此处传递预定义参数:
url : "http://localhost/add.php?public_id=sample_image×tamp=1315060510"
您的脚本的网址,在这种情况下,它是&#34; http://localhost/add.php&#34;:
url : "http://localhost/add.php"
调用generateSignature函数时自动添加参数。