首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Carrierwave、MiniMagick和缩放图像

Carrierwave、MiniMagick和缩放图像
EN

Stack Overflow用户
提问于 2018-08-18 01:58:39
回答 2查看 1.4K关注 0票数 0

我正在尝试为一个网站创建一个简单的rss/博客提要。我想有一个简单的封面照片上传器,这将出现在一个标题左侧的标题阅读更多的博客帖子链接。我认为在图像上传文件中,如果你包含mini_magick,你可以访问像version :medium do这样的方法,用于不同版本的图像上传。无论出于什么原因,在我提交表单后,它只会在浏览器中抛出一个错误,而且它一点帮助都没有。当我删除上传文件中的version :medium do方法时,图像会像正常一样上传,但很小,我真的想调整它的大小。

代码语言:javascript
复制
class ImageUploader < CarrierWave::Uploader::Base

include CarrierWave::MiniMagick
  storage :fog

  version :medium do
      process resize_to_fit: [250, 250]
  end

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

class HomeBlog < ApplicationRecord
  has_many :upvotes
  mount_uploader :image, ImageUploader
end

<%= tinymce_assets %>
<%= simple_form_for(@admin_home_blog) do |f| %>
  <%= f.error_notification %>
  <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>

  <div>
    <h3>Upload a Cover Photo</h3>
    <%= f.file_field :image %>
    <%= f.hidden_field :image_cache %>
  </div>
  <div class="form-inputs">
    <span class="form_labels"><%= f.input :name %></span>
    <%= f.text_area :entry, :class => "tinymce", :rows => 20, :cols => 120 %>
  </div>

  <div class="form-actions">
    <%= f.button :submit, "Create Blog Post" %>
  </div>
<% end %>
<%= tinymce %>

有没有人能看出来出了什么问题?我还将gem 'mini_magick‘安装在了带有carrierwave和fog的gemfile中。

EN

回答 2

Stack Overflow用户

发布于 2018-08-22 03:08:26

我的名声还不够高,不能简单地发表评论,但可以试试这个。

代码语言:javascript
复制
class ImageUploader < CarrierWave::Uploader::Base

include CarrierWave::MiniMagick
  storage :fog

  # move this line outside of your method
  process resize_to_fit: [512,512]         

  version :medium do

      # change the word 'fit' to 'fill'
      process resize_to_fill: [250,250]
  end

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

从我所看到的和我所成功的是,调整大小以适应一次(在每个照片大小方法之前),然后调整大小以填充所有不同的照片大小。祝好运!

票数 0
EN

Stack Overflow用户

发布于 2018-08-24 01:14:38

如果你被卡住了,不能让Mini_Magick工作,如果你正在使用carrierwave或回形针,只是想像我一样调整到更大的图像?简单的内联样式就足够了。不要浪费太多的时间在上传文件中的版本垃圾。也许有些人没有问题,或者他们已经破解了代码。我想我是特别的哈哈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51900725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档