Cloudinary上传成功但无法检索图像。

3
我正在使用Ruby on Rails开发一个应用程序,但是我遇到了以下问题。
我已经设置了Cloudinary http://cloudinary.com/documentation/rails_integration和Attachinaryhttps://github.com/assembler/attachinary,让用户可以使用Rails应用程序上传个人资料图片。我还希望能够在Rails应用程序中加载这些图片,以显示用户的个人资料图片。
我在user.rb Model文件中设置了以下代码。
has_attachment :avatar, :accept => [:jpg, :png, :gif]

用户的编辑页面位于我的应用程序中的Devise视图下-edit.html.erb。以下表单是我用来上传用户头像/个人资料图片的内容:
  <%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :post }) do |f| %>
            <%= cl_image_upload_tag(:avatar) %>   
              <%= f.button :submit %>    
<% end %>

在同一个视图文件中,我正在使用以下代码检索个人资料图片:
 <div class="profile-image" align="center">
                <% if @user.avatar.present? %>
                <img src="<%= cloudinary_url(@user.avatar.path) %>" width="180px" height="180px" alt=""/>
                <% else %>
                     <img src="<%= asset_path "person.png" %>" width="180px" height="180px" alt=""/>
            <% end %>

            </div>

当图像上传到Cloudinary后,它会被赋予一个随机的文件名,例如:ecwc8x4ult960jzk8dp0

我是否正确地上传了图像,如何检索它们?

1个回答

0
在表单中尝试:<%= user.attachinary_file_field :avatar %>
您应该能够通过模型像这样检索它们:<%= image_tag user.avatar.url if user.avatar? %>,或者像Attachinary文档中所说的那样:<%= cl_image_tag(@user.avatar.path, { size: '180x180', crop: :thumb, gravity: :face }) %>。省略<img>标签,我建议不要使用内联CSS。
您可能会因为将图像通过HTTP而不是HTTPS提供而遇到400错误。要解决此问题,您应该在cloudinary.yml中添加secure: true或在图像标记中添加:secure => true
我无法写评论...是否有任何错误,请发布错误日志?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接