在Sinatra中使用CarrierWave显示图像,你可以按照以下步骤进行操作:
bundle install
来安装它们:gem 'carrierwave'
gem 'mini_magick'
Uploader
的CarrierWave上传器类。在这个类中,你需要指定图像的存储方式(本地存储或云存储),以及图像的处理方式(大小、尺寸等)。以下是一个示例:require 'carrierwave'
require 'carrierwave/processing/mini_magick'
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
'uploads'
end
version :thumb do
process resize_to_fit: [200, 200]
end
def extension_whitelist
%w(jpg jpeg gif png)
end
end
require 'carrierwave'
require 'carrierwave/orm/activerecord'
CarrierWave.configure do |config|
config.root = File.dirname(__FILE__) + '/public'
config.storage = :file
end
require 'sinatra'
require 'carrierwave'
require 'carrierwave/orm/activerecord'
# ...
post '/upload' do
uploader = ImageUploader.new
uploader.store!(params[:image])
# 保存图像的URL到数据库或其他地方
image_url = uploader.url
# 显示图像
"<img src='#{image_url}' alt='Uploaded Image'>"
end
这样,你就可以在Sinatra中使用CarrierWave显示图像了。当你上传图像后,它将被保存到指定的目录中,并且你可以通过图像的URL来显示它。
请注意,这只是一个简单的示例,你可以根据自己的需求进行更多的配置和定制。同时,你也可以使用CarrierWave的其他功能,如图像处理、文件类型验证等。有关更多详细信息,请参考CarrierWave的官方文档:CarrierWave。
领取专属 10元无门槛券
手把手带您无忧上云