Skip to content


Subversion checkout URL

You can clone with
Download ZIP


huacnlee edited this page · 193 revisions
Clone this wiki locally


Please feel free to add more information, helpful links, how-tos, etc. Thank you!

Getting help

If you have a question about CarrierWave, please search the Wiki and Google Group to see if your question has already been answered. If it has not been discussed previously, please post your question to the Google Group.

Please review the Known issues wiki page for common problems that you may encounter.

Before reporting an issue, please ensure you are using latest CarrierWave version. Check the History.txt file to see if your issue has already been solved but not yet released in the gem version. Search the existing GitHub Issues to make sure your issue hasn’t already been discussed. If you think you’ve found a security bug, do NOT use the GitHub Issue tracker. Please send a private GitHub message to “jnicklas” instead.

When reporting an issue, please include the version information for all software involved. This would include the version of Ruby, Rails, Sinatra, etc that you are using. Include the error class, error message and backtrace if you are getting an error. Please provide this information in a Gist on GitHub instead of within the issue itself. Simply pasting in a heap of code into an issue is generally not helpful because it can be very difficult to read. It can also be extremely helpful if you try to isolate the bug in a small application and push it to github. You can use the small Sinatra application here as a base.

Please remember that this is an open-source project, and the contributions of volunteers have made it possible. Please be polite when asking for help, and provide as much information as possible so that others can help you more easily.

If you’re experienced with Ruby, please try to reproduce the bug in the test suite. If you think you can fix the issue, pull requests with tests are always welcome. Again, remember that this is an open-source project, and the contributions of volunteers have made it possible. Please consider becoming a contributor!


Railscasts – CarrierWave File Uploads

Example applications

Rails 2.3.5 example by jnicklas
Carrierwave, DataMapper, & Sinatra starring in ‘Imagine the Possibilities’ by foysavas


carrierwave-datamapper Datamapper support
carrierwave-mongoid Mongoid and GridFS support
carrierwave-sequel Sequel support
carriercouch CouchDB support
mm-carrierwave Mongo Mapper support
carrierwave_backgrounder Delayed Job support
carrierwave-orm-mongoo Mongoo support
carrierwave-neo4j Neo4j support
carrierwave-meta File’s metadata saving plugin for carrierwave
carrierwave_direct Process your uploads in the background by uploading directly to S3
carrierwave-upyun Yupoo UpYun storage for CarrierWave

How to: Secure Upload
How to: Migrate to the new Fog storage provider
How to: Validate uploads with Active Record
How to: Make Carrierwave work on Heroku
How to: Store the uploaded file size and content type
How to: Specify the image quality
How to: Detect a new file in a mounted uploader
How to: Create random and unique filenames for all versioned files
How to: Use a timestamp in file names
How to: Do conditional processing
How to: Use test fixtures
How to: Test Fog based uploaders
How to: Delete cache garbage directories
How to: Tracking Dirty State
How to: Upload from a string in Rails 3
How to: Make a fast lookup able storage directory structure
How to: Validate attachment file size
How to: Cleanup after your Rspec tests
How to: Cleanup original file that wasn't uploaded like as Tempfile
How to: Customize your version file names
How to: Use CarrierWave with Rails 2.3.x
How to: Move version name to end of filename, instead of front
How to: Silently ignore missing files on destroy or overwrite
How to: Use CarrierWave with Devise
How to: Use Rackspace ServiceNet (snet) to transfer from CloudServer to CloudFiles
How to: Dynamically set storage type
How to: Use Callbacks
How to: Get version image dimensions

Blog posts

Testing file uploads with Carrierwave
How to use Delayed Job to handle your Carrierwave processing
Migrating from attachment_fu to CarrierWave
File Uploads with Rails 3, Plupload, and CarrierWave
Full Control over Changing (S3) Upload Path Name
Adding additional processing support to CarrierWave
CarrierWave and Ruby 1.9.2 and Other Tips
Saving Best Image Geometry
Mocking Fog when using it with Carrierwave
Extract Geolocation Image EXIF Data using RMagick on Heroku
Mocking fog When Using It With Carrierwave
Custom RSpec be_square matcher for CarrierWave
A Gentle Introduction to CarrierWave
Multiple files upload with carrierwave and nested_form
Recreating a single version of an uploaded file
Video Encoding with Uploadify, CarrierWave and Zencoder

Something went wrong with that request. Please try again.