2016-09-27 3 views
1

に署名を生成するには、残念ながら、私は、アップロードエラーが発生します...私は、ローカルホスト上で働いているし、このコードを配置されたページがadd.phpページCloudinaryどのようにこれはウィジェットを通じてcloudinaryアップロードについての私のコードで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&timestamp=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

これはあなたが見ている「無効な署名」エラーですか? 'params_to_sign'に加えて' url'にいくつかのクエリ文字列パラメータを渡していることがわかります。 Cloudnightは、 'params_to_sign'の中に** **だけ署名することを期待しています。 –

答えて

0

最近、この質問で並べ替えようとしました。ここに簡単な解決策があります:

署名を生成するためにサーバーにスクリプトが必要です。この場合、ファイル名は「add.php」です。置き換え

<?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の秘密と [HERE CLOUDINARY APIを秘密にしてPUT]:それはのようなものが含まれている必要があります。

このスクリプトには、cloudnetのPHP統合ライブラリが必要です。次のリンクからダウンロードできます: https://github.com/cloudinary/cloudinary_php/tarball/master。あなたのPHPプロジェクトにsrcフォルダから すべてのファイルをコピーして、あなたのコード内でCloudinaryのPHPクラスが含まれます:

require_once(CINCDIR . 'Cloudinary.php'); 
require_once(CINCDIR . 'Api.php'); 

また、上記のあなたの例からのJavaScriptについて、あなたはここで事前定義されたパラメータを渡す必要はありません。

url  : "http://localhost/add.php?public_id=sample_image&timestamp=1315060510" 

スクリプトのちょうどURLが、この場合には、それは "http://localhost/add.php" です:

url  : "http://localhost/add.php" 

パラメータは、自動的に追加generateSignature関数が呼び出されます。

関連する問題