401将图像上传到Cloudinary时出现未经授权的错误

时间:2014-05-07 23:39:26

标签: ruby-on-rails cloudinary

我正在使用ruby(2.0.0),rails(3.2.17),cloudinary(1.0.70)和jquery-rails(3.1.0)。我只是在图像上传标签嵌套多层深度时才会出现此错误。如果它只有一个级别,我可以正确上传。生成的文件上传是(对于StackOverflow,cloudname,signature和api键替换为“xxxx”)

<input 
  type="file" 
  name="file" 
  data-url="https://api.cloudinary.com/v1_1/xxxxxxxxx/auto/upload" 
  data-form-data="{&quot;timestamp&quot;:1399504570,&quot;callback&quot;:&quot;http://localhost:8080/cloudinary_cors.html&quot;,&quot;signature&quot;:&quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;,&quot;api_key&quot;:&quot;xxxxxxxxxxxxxxx&quot;}" 
  data-cloudinary-field="page[figures_attributes][1399504574259][images_attributes][0][asset]"
  class="cloudinary-fileupload
">

根据我所读的内容似乎是正确的,但是当我尝试直接上传时,我仍然会收到{"error":{"message":"Invalid cloud_name undefined"}}

修改 尝试上传时遇到的网址是https://api.cloudinary.com/v1_1/undefined/upload。这让我想知道为什么没有使用输入中data-url属性的URL以及如何生成此URL。

我正在生成这样的文件上传标签:

= f.cl_image_upload :asset

我的application.js看起来像这样:

// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require ckeditor/init
//= require cloudinary
//= require_tree ../../../vendor/assets/javascripts/.
//= require_tree .

如果您需要任何其他信息,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:0)

问题是我没有在任何地方加入cloudinary_js_config脚本。所以我只是将它添加到表单的顶部,如下所示:

= form_for @page, :html => { :multipart => true } do |f|
  = cloudinary_js_config