我正在尝试为网站制作一个简单的RSS /博客供稿。我想为封面照片提供一个简单的上传器,该上传器将显示在标题左侧的Feed中,并带有博客文章的更多阅读链接。我认为在图像上传器文件中,如果包含mini_magick,则可以使用不同版本的图像上传方法,例如version:medium do等。无论出于什么原因,提交表单后,它只会在浏览器中引发错误,这根本没有帮助。当我在上传器文件中删除version:medium do方法时,图像会像正常情况一样上载,但是很小,我真的很想调整其大小。
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 %>
谁能看到什么问题?我还在带有载波和雾的gemfile中安装了gem'mini_magick'。
答案 0 :(得分:0)
我的声誉还不够高,无法简单地发表评论,但是尝试一下。
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
从我所看到的一切以及我成功的经验来看,只是将大小调整为FIT(在使用每种照片尺寸方法之前),然后将所有不同照片尺寸的大小调整为FILL。祝你好运!
答案 1 :(得分:0)
如果您被卡住了,并且在使用载波或回形针的情况下无法使Mini_Magick正常工作,并且只想像我一样将尺寸调整为更大的图像?简单的在线样式就足够了。不要在上传器文件中浪费太多时间处理版本废话。也许有些人没有问题,或者他们已经破解了代码。猜猜我很特别。