A very concise AWS S3 uploader example in Ruby
require "rubygems"
require 'sinatra'
require "aws/s3"
get '/' do
return %Q{
<form action="upload" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<div>
<input type="file" name="file" value="" id="file">
</div>
<div>
<input type="submit" value="Upload ↑">
</div>
</form>
}
end
post '/upload' do
awskey = 'mykey'
awssecret = 'mysecret'
bucket = 'mybucket'
file = params[:file][:tempfile]
filename = params[:file][:filename]
AWS::S3::Base.establish_connection!(
:access_key_id => awskey,
:secret_access_key => awssecret
)
AWS::S3::S3Object.store(
filename,
open(file.path),
bucket,
:access => :public_read
)
url = "https://#{bucket}.s3.amazonaws.com/#{filename}"
return url
end
Written by Daniel Sim
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ruby
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#