Skip to content
Snippets Groups Projects
Commit 9e024668 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Files controller handle redirect to remote storage. Added config block to carrierwave init

parent ced044ad
No related branches found
No related tags found
No related merge requests found
class FilesController < ApplicationController
def download
note = Note.find(params[:id])
uploader = note.attachment
 
if can?(current_user, :read_project, note.project)
uploader = note.attachment
send_file uploader.file.path, disposition: 'attachment'
if uploader.file_storage?
if can?(current_user, :read_project, note.project)
send_file uploader.file.path, disposition: 'attachment'
else
not_found!
end
else
not_found!
redirect_to uploader.url
end
end
end
Loading
Loading
Loading
Loading
@@ -21,10 +21,10 @@ class AttachmentUploader < CarrierWave::Uploader::Base
end
 
def secure_url
if self.class.storage == CarrierWave::Storage::File
"/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}"
else
url
end
"/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}"
end
def file_storage?
self.class.storage == CarrierWave::Storage::File
end
end
Loading
Loading
@@ -5,13 +5,15 @@ aws_file = Rails.root.join('config', 'aws.yml')
if File.exists?(aws_file)
AWS_CONFIG = YAML.load(File.read(aws_file))[Rails.env]
 
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: AWS_CONFIG['access_key_id'], # required
aws_secret_access_key: AWS_CONFIG['secret_access_key'], # required
region: AWS_CONFIG['region'], # optional, defaults to 'us-east-1'
}
config.fog_directory = AWS_CONFIG['bucket'] # required
config.fog_public = false # optional, defaults to true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: AWS_CONFIG['access_key_id'], # required
aws_secret_access_key: AWS_CONFIG['secret_access_key'], # required
region: AWS_CONFIG['region'], # optional, defaults to 'us-east-1'
}
config.fog_directory = AWS_CONFIG['bucket'] # required
config.fog_public = false # optional, defaults to true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment