Ruby on Rails integration handles uploads and file operations by wrapping uploadcare-ruby gem. It will let you use most of the Uploadcare features from within your Ruby on Rails app.
- Upload files from local storage and URLs (up to 5 TB)
- Multipart uploading for large files
- Uploading network to speed uploading jobs (like CDN)
File management features:
- Get file info and perform various operations (store/delete/copy) with them
- Work with groups of files
- Get info about account project
- Manage webhooks
- Convert documents
- Encode and transform videos
- Secure authentication
- Secure uploads (signed uploads)
- Secure delivery (signed URLs)
- Secure webhooks (signing secret)
Add this line to your application's Gemfile:
And then execute:
gem install uploadcare-railsbash
To start using Uploadcare API you just need to set your API keys
(public key and secret key).
These keys can be set as ENV variables using the
export UPLOADCARE_PUBLIC_KEY=demopublickey export UPLOADCARE_SECRET_KEY=demoprivatekeybash
Or you can use popular gems like
dotenv-rails for setting ENV variables.
Run the config generator command to generate a configuration file:
rails g uploadcare_configbash
The generator will create a new file in
The public key must be specified in
config/initializers/uploadcare.rb to use Uploadcare file upload.
This step is done automatically in the initializer if you set the ENV variable
... Uploadcare::Rails.configure do |config| # Sets your Uploadcare public key. config.public_key = ENV.fetch("UPLOADCARE_PUBLIC_KEY", "demopublickey") ... endruby
There are also some options set by default:
... # Deletes files from Uploadcare servers after object destroy. config.delete_files_after_destroy = true # Sets caching for Uploadcare files config.cache_files = true # Available locales currently are: # ar az ca cs da de el en es et fr he it ja ko lv nb nl pl pt ro ru sk sr sv tr uk vi zhTW zh config.locale = "en" # If true, inputs on your page are initialized automatically, see the article for details - # https://uploadcare.com/docs/file-uploader-api/widget-initialization/ config.live = true # If true, input initialization is invoked manually. # See https://uploadcare.com/docs/file-uploader-api/widget-initialization/). config.manual_start = falseruby
Then you can configure all global variables such as files storing/caching, deleting files, etc. Full list of available options is listed in the file itself. Just uncomment an option and set the value.
Read the full documentation on GitHub.