Ruby integration handles uploads and file operations by wrapping Uploadcare Upload API and REST API. This comprehensive API client lets you use most of the Uploadcare features from within your Ruby app.
Uploading (Upload API):
File management (REST API):
Image processing (URL API):
Security features:
Note that uploadcare-ruby 3.x is not backward compatible with
2.x.
Add this line to your application’s Gemfile:
And then execute:
If you use api_struct gem in your project, replace it with uploadcare-api_struct:
and run bundle install.
If already not, create your project in Uploadcare dashboard and copy your API keys from there.
Set your Uploadcare keys in config file or through environment variables:
Or configure your app yourself if you are using different way of storing keys.
Gem configuration is available in Uploadcare.configuration. Full list of
settings can be seen in lib/uploadcare.rb
Tip: For production use, configure your keys via environment variables, for example:
Uploadcare.config.public_key = ENV['UPLOADCARE_PUBLIC_KEY']
View full script: post_from_url.rb
View related scripts: post_multipart_start.rb, post_multipart_complete.rb
View full script: get_files_uuid.rb
View full script: post_webhooks.rb
Note: All examples assume you configured your API keys. Replace placeholders with your actual keys, or set them via environment variables.
Using Uploadcare is simple, and here are the basics of handling files.
You might then want to store or delete the uploaded file. Storing files could be crucial if you aren’t using the “Automatic file storing” option for your Uploadcare project. If not stored manually or automatically, files get deleted within a 24-hour period.
Uploadcare supports multiple ways to upload files:
There are explicit ways to select upload type:
You can override global :autostore option for each upload request:
Most methods are also available through Uploadcare::Api object:
Entities are representations of objects in Uploadcare cloud.
File entity contains its metadata.
Metadata of deleted files is stored permanently.
Uploadcare::Entity::FileList represents the whole collection of files (or it’s
subset) and provides a way to iterate through it, making pagination transparent.
FileList objects can be created using Uploadcare::Entity.file_list method.
Read the full documentation on GitHub.