Class: CarrierWave::Storage::GridFS
- Inherits:
-
Abstract
- Object
- Abstract
- CarrierWave::Storage::GridFS
- Defined in:
- lib/carrierwave/storage/grid_fs.rb
Overview
The GridFS store uses MongoDB’s GridStore file storage system to store files
When you already have a Mongo connection object (for example through Mongoid) you can also reuse this connection:
CarrierWave.configure do |config|
config.storage = :grid_fs
config.grid_fs_access_url = "/system/uploads"
end
In the above example your documents url will look like:
http://your-app.com/system/uploads/:document-identifier-here
Defined Under Namespace
Classes: File
Instance Method Summary collapse
-
#retrieve!(identifier) ⇒ Object
Retrieve the file from MongoDB’s GridFS GridStore.
-
#store!(file) ⇒ Object
Store the file in MongoDB’s GridFS GridStore.
Instance Method Details
#retrieve!(identifier) ⇒ Object
Retrieve the file from MongoDB’s GridFS GridStore
Parameters
- identifier (String)
-
the filename of the file
Returns
- CarrierWave::Storage::GridFS::File
-
a sanitized file
108 109 110 |
# File 'lib/carrierwave/storage/grid_fs.rb', line 108 def retrieve!(identifier) CarrierWave::Storage::GridFS::File.new(uploader, uploader.store_path(identifier)) end |
#store!(file) ⇒ Object
Store the file in MongoDB’s GridFS GridStore
Parameters
- file (CarrierWave::SanitizedFile)
-
the file to store
Returns
- CarrierWave::SanitizedFile
-
a sanitized file
91 92 93 94 95 |
# File 'lib/carrierwave/storage/grid_fs.rb', line 91 def store!(file) stored = CarrierWave::Storage::GridFS::File.new(uploader, uploader.store_path) stored.write(file) stored end |