我正在实施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×tamp="+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
请帮我理解我做错了什么?
你可以给我一个参数哈希的例子吗? – Vince 2014-09-02 09:52:46
你应该通过一个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
看S形我仍然能够上传的不是间歇性问题。你可以帮我吗?该代码是在这里:http://jsfiddle.net/tschew/oxdmvbew/ – Vince 2014-09-16 10:47:10