Ruby on rails 3 Cloudinary上载文件,但按钮仍显示“未选择文件”

Ruby on rails 3 Cloudinary上载文件,但按钮仍显示“未选择文件”,ruby-on-rails-3,file-upload,cloudinary,Ruby On Rails 3,File Upload,Cloudinary,我正在使用cloudinary,并遵循了这里的所有内容: 这是我的看法,哈姆: 我已经检查并加载了所有cloudinary javascript。按钮正在将文件上载到cloudinary,我的chrome控制台显示: XHR finished loading: "https://api.cloudinary.com/v1_1/hhfk6ki1i/auto/upload". jquery.js:8417 send jquery.js:8417 jQuery.extend.ajax jquery.j

我正在使用cloudinary,并遵循了这里的所有内容:

这是我的看法,哈姆:

我已经检查并加载了所有cloudinary javascript。按钮正在将文件上载到cloudinary,我的chrome控制台显示:

XHR finished loading: "https://api.cloudinary.com/v1_1/hhfk6ki1i/auto/upload". jquery.js:8417
send jquery.js:8417
jQuery.extend.ajax jquery.js:7969
send jquery.fileupload.js:600
$.widget._onSend jquery.fileupload.js:656
newData.submit jquery.fileupload.js:695
$.widget.options.add jquery.fileupload.js:137
$.Widget._trigger jquery.ui.widget.js:278
(anonymous function) jquery.fileupload.js:698
jQuery.extend.each jquery.js:612
$.widget._onAdd jquery.fileupload.js:688
$.widget._onChange jquery.fileupload.js:752
jQuery.event.dispatch jquery.js:3064
elemData.handle.eventHandle
我希望在选择文件后,我的按钮会显示上传文件的名称。这应该归功于cloudinary插件,还是我应该实现所有Javascript来捕获该事件并更改上传标签

我所说的这个按钮总是显示“未选择任何文件”,即使文件已上载并在Cloudinary中可用:


顺便说一句:如果相关的话。我没有使用carrierwave或Attachinary,因为我使用的是couchrest_模型

当使用基于jQuery的直接图像从浏览器上传到Cloudinary时,上传过程在使用文件输入字段选择或拖动图像后立即开始。 您的表单将使用直接上载图像的标识符进行更新

默认情况下,上载完成后会显示新的文件输入字段,因此不会显示文件名


您可以绑定到cloudinarydone事件,如其他开发框架和的高级使用下的示例代码所示。收到此事件时,您可以隐藏文件输入字段并显示上载图像的预览缩略图

上传开始时替换输入字段的行为可以通过运行以下命令禁用:

$('.cloudinary-fileupload').fileupload('option', 'replaceFileInput', false);
上载完成时,将调用cloudinarydone的回调。如果要在重置输入字段时立即隐藏字段,可以使用:

$('.cloudinary-fileupload').bind('fileuploadchange', function() { $(this).hide()})

我将调查高级使用案例。但是,在上载过程结束后,我的案例中不会显示新的文件输入字段。你知道为什么会这样吗?这是一个非常有用的回答。然而,我的问题似乎是javascript无法绑定到cloudinary fileupload类。如果我绑定到文档,那么回调就可以工作。有没有关于导致类cloudinary fileupload不可绑定的问题的想法?问题是您的javascript在加载DOM之前运行,因此.cloudinary fileupload上没有匹配项。如果您使用$document.readyfunction{}将所有代码包装在items.js中,那么效果很好。谢谢,这解决了我的绑定问题。我的另一个问题是,持久的无文件选择消息实际上是由于Chrome和Safari处理这个输入字段的方式造成的,通过样式设置可以减轻这个问题。
$('.cloudinary-fileupload').bind('fileuploadchange', function() { $(this).hide()})