- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试启用从浏览器到cloudinary的直接图像上传。我遇到的问题是,根据以下语法,图像未上传。
<%= form_for(@product_image) do |f| %>
<div class="field">
<%= f.cl_image_upload(:image) %>
</div>
<%= f.submit %>
<% end %>
如果我替换这个 block
<%= f.cl_image_upload(:image) %>
与
<%= cl_image_upload_tag("product_image[image]") %>
上传仍然没有发生。但是,如果我将它们放在一起,那么两者都会上传。
我比较了 2 个 cloudinary 辅助方法生成的 html,它们生成了完全相同的 html 代码。查看这 2 个辅助方法的代码,似乎其中一个方法正在调用另一个方法。
def cl_image_upload(object_name, method, options={})
cl_image_upload_tag("#{object_name}[#{method}]", options)
end
和
def cl_image_upload_tag(field, options={})
html_options = options.delete(:html) || {}
if options.delete(:multiple)
html_options[:multiple] = true
field = "#{ field }[]" unless field.to_s[-2..-1] == "[]"
end
tag_options = html_options.merge(:type=>"file", :name=>"file",
:"data-url"=>cl_upload_url(options),
:"data-form-data"=>cl_upload_tag_params(options),
:"data-cloudinary-field"=>field,
:"class" => [html_options[:class], "cloudinary-fileupload"].flatten.compact
).reject{|k,v| v.blank?}
content_tag("input", nil, tag_options)
end
如果我真的只想使用一个 block <%= f.cl_image_upload(:image) %>,那么我还必须添加额外的 javascript
$('.cloudinary-fileupload).cloudinary_fileupload();
您认为,使用 Carrierwave 直接从浏览器上传到 cloudinary 的最佳方式是什么?
最佳答案
Cloudinary 有一个完全工作的示例项目,其中包括使用 jQuery 库的客户端上传,包括 CarrierWave 集成。您可以看一下并尝试一下: https://github.com/cloudinary/cloudinary_gem/tree/master/samples/photo_album
关于javascript - Cloudinary cl_image_upload 与 cl_image_upload_tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24622764/
我正在尝试启用从浏览器到cloudinary的直接图像上传。我遇到的问题是,根据以下语法,图像未上传。 如果我替换这个 block 与 上传仍然没有发生。但是,如果
我是一名优秀的程序员,十分优秀!