class CarrierWave::Storage::GridFS
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
Public Instance Methods
retrieve!(identifier)
click to toggle source
Retrieve the file from MongoDB’s GridFS
GridStore
Parameters¶ ↑
- identifier (String)
-
the filename of the file
Returns¶ ↑
CarrierWave::Storage::GridFS::File
-
a sanitized file
# 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)
click to toggle source
Store the file in MongoDB’s GridFS
GridStore
Parameters¶ ↑
- file (CarrierWave::SanitizedFile)
-
the file to store
Returns¶ ↑
- CarrierWave::SanitizedFile
-
a sanitized file
# 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