This repository has been archived on 2024-03-16. You can view files and clone it, but cannot push or open issues or pull requests.
2011-08-18 05:43:33 +00:00
|
|
|
require 'mongo'
|
|
|
|
|
|
|
|
class GridfsController < ActionController::Metal
|
2011-08-25 00:13:38 +00:00
|
|
|
|
2011-08-18 05:43:33 +00:00
|
|
|
def serve
|
2012-08-01 12:07:54 +00:00
|
|
|
gridfs_path = (params[:path]+'.'+params[:format]).gsub("/gridfs/", "").force_encoding("UTF-8")
|
2011-08-18 05:43:33 +00:00
|
|
|
begin
|
|
|
|
gridfs_file = Mongo::GridFileSystem.new(Mongoid.database).open(gridfs_path, 'r')
|
|
|
|
self.response_body = gridfs_file.read
|
|
|
|
self.content_type = gridfs_file.content_type
|
|
|
|
rescue
|
|
|
|
self.status = :file_not_found
|
|
|
|
self.content_type = 'text/plain'
|
|
|
|
self.response_body = ''
|
|
|
|
end
|
|
|
|
end
|
2011-08-25 00:13:38 +00:00
|
|
|
|
2011-08-18 05:43:33 +00:00
|
|
|
end
|