12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- class PictureUploader < CarrierWave::Uploader::Base
- # Include MiniMagick support:
- include CarrierWave::MiniMagick
- process resize_to_limit: [400, 400]
- # Choose what kind of storage to use for this uploader:
- storage :file
- # Override the directory where uploaded files will be stored.
- # This is a sensible default for uploaders that are meant to be mounted:
- def store_dir
- "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
- end
- # Provide a default URL as a default if there hasn't been a file uploaded:
- def default_url(*args)
- "/images/fallback/" + [version_name, "default_profile.png"].compact.join('_')
- end
- # Create different versions of your uploaded files:
- version :tiny do
- process resize_to_fit: [20, 20]
- end
- version :small do
- process resize_to_fit: [50, 50]
- end
- version :medium do
- process resize_to_fit: [100, 100]
- end
- # Add a white list of extensions which are allowed to be uploaded.
- # For images you might use something like this:
- def extension_whitelist
- %w(jpg jpeg gif png)
- end
- # Override the filename of the uploaded files:
- # Avoid using model.id or version_name here, see uploader/store.rb for details.
- # def filename
- # "something.jpg" if original_filename
- # end
- end
|