2013-05-05 126 views
3

首先,我必須說,Cloudinary jQuery插件的文檔是可怕的。需要有一個可以檢查和複製/粘貼的完整工作演示。Cloudinary返回401使用jQuery上傳未經授權上傳

我一直在試圖實現這個插件今天整天無濟於事。每當Web服務器發送請求時,我都會收到401未經授權的響應。 很明顯,我已經對API密鑰進行了兩次和三次檢查,並且它是正確的。

請注意,對於這個問題的目的,我已經模糊的源URL及以下API密鑰...

我的要求:
產地 http://someurl
X-請求─使用XMLHttpRequest
User-Agent Mozilla/5.0(Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13(KHTML,如Gecko)版本/ 6.0.4 Safari/536.29.13
Content-Typ e multipart/form-data; boundary = ---- WebKitFormBoundaryiv0wUvjBAxsYJx1q
Accept application/json,text/javascript,/; Q = 0.01
的Referer http://someurl/cloudinary.html
的multipart/form-data的
邊界---- WebKitFormBoundaryiv0wUvjBAxsYJx1q
尺寸187B

這裏是從cloudinary響應:

狀態401
連接保持活動
內容長度40
X-請求-ID ac82262506edc9fb37fd533383c3f650
X-UA兼容IE =邊緣,鍍鉻= 1
服務器cloudinary
訪問控制-max-age的1728000
訪問控制允許的方法POST,GET,OPTIONS
Content-Type application/json;字符集= UTF-8
訪問控制允許來源http://someurl
緩存控制無緩存

{ 「錯誤」:{ 「消息」: 「未知API密鑰」}}

我的HTML頁面具有以下

<html> 
    <body> 
    <input type="file" class="cloudinary-fileupload" data-cloudinary-field="image_upload" data-bind="attr:{'data-form-data':formData, name:tag}" data-form-data="%7B%22public_id%22%3A%221_overall%22%2C%22tags%22%3A%22overall%22%2C%22format%22%3A%22jpg%22%2C%22timestamp%22%3A%221367772489%22%2C%22callback%22%3A%22http%3A//someurl/cloudinary_cors.html%22%2C%22signature%22%3A%2205767fbf65bfff181c6ccc65b90a457a4a9189e0%22%2C%22api_key%22%3A%22some_api_key%22%7D" name="overall"> 
    <div class="preview"></div> 
    <script src="js/vendor/jquery.js"></script> 
    <script src="js/vendor/jquery-ui.min.js"></script> 
    <script src="js/vendor/jquery.iframe-transport.js"></script> 
    <script src="js/vendor/jquery.fileupload.js"></script> 
    <script src="js/vendor/jquery.cloudinary.js"></script> 
    <script type="text/javascript"> 
     $.cloudinary.config({"api_key":"some_api_key","cloud_name":"some_cloud_name"}); 
     $('.cloudinary-fileupload').bind('cloudinarydone', function(e, data) { $('.preview').html(
       $.cloudinary.image(data.result.public_id, 
        { format: data.result.format, version: data.result.version, 
        crop: 'scale', width: 200 }));  
       $('.image_public_id').val(data.result.public_id);  
      return true; 
     }); 
    </script> 
    </body> 
</html> 
+0

Cloudinary docs肯定會留下一些不足之處。 – 2016-02-19 08:44:10

回答

0

的數據形式的數據屬性需要是HTML編碼,而不是URL編碼,例如,數據形式的數據在你的榜樣應該是:

{&quot;public_id&quot;:&quot;1_overall&quot;,&quot;tags&quot;:&quot;overall&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;timestamp&quot;:&quot;1367772489&quot;,&quot;callback&quot;:&quot;http://someurl/cloudinary_cors.html&quot;,&quot;signature&quot;:&quot;05767fbf65bfff181c6ccc65b90a457a4a9189e0&quot;,&quot;api_key&quot;:&quot;some_api_key&quot;} 
+1

你能提供一個更完整的基於代碼的例子嗎? – 2013-10-17 19:54:07

相關問題