Skip to content

Instantly share code, notes, and snippets.

@orafaelfragoso
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save orafaelfragoso/220ae08cb94b9400417b to your computer and use it in GitHub Desktop.
Save orafaelfragoso/220ae08cb94b9400417b to your computer and use it in GitHub Desktop.
Upload and delete files from Amazon S3
def upload_to_s3(file, file_name,file_path)
aws = AWS::S3.new
bucket = aws.buckets[ENV['S3_BUCKET_NAME']]
object = bucket.objects[file_name]
object.write(:file => file)
local_file = File.open(file_path)
File.delete(local_file)
end
def delete_from_s3
aws = AWS::S3.new
bucket = aws.buckets[ENV['S3_BUCKET_NAME']]
file_name = "#{self.member.get_full_name} Directive.pdf"
object = bucket.objects[file_name]
object.delete
end
def read_from_s3(file_name)
aws = AWS::S3.new
bucket = aws.buckets[ENV['S3_BUCKET_NAME']]
object = bucket.objects[file_name]
object.url_for(:read).to_s
end
def download_from_s3(file_name)
aws = AWS::S3.new
bucket = aws.buckets[ENV['S3_BUCKET_NAME']]
file = bucket.objects[file_name]
url = file.url_for(:read).to_s
data = open(url).read
send_data data, :disposition => 'attachment', :filename => file_name, :x_sendfile => true
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment