2014-08-28 50 views
2

我正在实施Cloudinary jquery上传。从我的文件上传网页中,如果我冲浪到另一个网站(google.com或任何外部网站),然后单击浏览器上的后退按钮进入该文件上传页面,则上传失败。Cloudinary jQuery直接上传问题

该错误消息我得到的回复是(从萤火虫):

400错误的请求 {“错误”:{“消息”:“上传预设使用未签名的上传时,必须指定上传预设”}}

  • 我没有启用Cloudinary管理控制台 上签名上传,因为我的本意是签名上传

ŧ他是在后端的数据形式的数据创建的JSON数据:

{“时间戳”:1409146953,“回调”:“http://newappsure.herokuapp.com/vendor/cloudinary/cloudinary_cors.html”,‘签名’:‘19071a3e822eed51238454e359589f52cccca042’,‘API_KEY’ :“224456847515364” }

下面是JavaScript和输入HTML:

<script type="text/javascript”> 
    $.cloudinary.config({cloud_name:'dashy', api_key:’XXXXXXXXXXXXXXX'}); 
    </script> 
    <input name="file" type="file" id="uploadinput" class="cloudinary-fileupload" data-cloudinary-field="image_upload" 
data-form-data="" ></input> 
    <script> 
     $.ajax({ 
      url: '/filer', 
      type: 'POST', 
      success: function(response){ 
        $('#uploadinput').attr('data-form-data', response); 
      } 
     }); 
    </script> 

这是Ruby后端产生JSON:

post '/filer' do 
     ts = Time.now.getutc.to_time.to_i.to_s 
     secret="XXXXXXXXXXXXXXXXXXXXXX" 
altogether="callback=http://newappsure.herokuapp.com/vendor/cloudinary/cloudinary_cors.html&timestamp="+ts+secret 
     sig=Digest::SHA1.hexdigest altogether 
     ts = Time.now.getutc.to_time.to_i 
     {:timestamp => ts, :callback => "http://newappsure.herokuapp.com/vendor/cloudinary/cloudinary_cors.html", :signature => sig, :api_key =>"XXXXXXXXXXXXXXXX"}.to_json 
end 

请帮我理解我做错了什么?

回答

1

虽然您的解决方案可以工作,更好的方法是更新上传参数来调用$(...).fileupload({formData: data})其中data是散列参数(不是JSON序列化)。 欲了解更多信息: http://support.cloudinary.com/entries/24950218-Why-is-updating-a-cloudinary-fileupload-field-dynamically-not-working-

+0

你可以给我一个参数哈希的例子吗? – Vince 2014-09-02 09:52:46

+0

你应该通过一个JSON,例如:'{ “时间戳”:1409836869, “渴望”: “t_my_transformation”, “use_filename”:1, “unique_filename”:1, “签名”: “52f06bd404778454dd6dc6973f6ea0d8ef55ca25”, “API_KEY”: “219441847515364”}'。请注意,您也可以使用未签名的上传并使用这些方法来为您简化此任务。请参阅参考以下内容:https://github.com/cloudinary/cloudinary_js/blob/master/js/jquery.cloudinary.js#L687 – 2014-09-04 20:52:18

+0

看S形我仍然能够上传的不是间歇性问题。你可以帮我吗?该代码是在这里:http://jsfiddle.net/tschew/oxdmvbew/ – Vince 2014-09-16 10:47:10