adding api for twitter custom image uploaders
This commit is contained in:
parent
014e202ae6
commit
d6806676db
1 changed files with 35 additions and 1 deletions
36
main.rb
36
main.rb
|
@ -2,6 +2,7 @@ require 'rubygems'
|
||||||
require 'sinatra'
|
require 'sinatra'
|
||||||
require 'sequel'
|
require 'sequel'
|
||||||
require 'uri'
|
require 'uri'
|
||||||
|
require 'yaml'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -111,9 +112,42 @@ get '/upload' do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
post '/api-upload' do
|
||||||
|
require 'aws/s3'
|
||||||
|
|
||||||
|
keys = YAML.load(File.open("keys.yaml", "r").read)
|
||||||
|
|
||||||
|
# establish connection
|
||||||
|
AWS::S3::Base.establish_connection!(
|
||||||
|
:access_key_id => keys['s3_key'],
|
||||||
|
:secret_access_key => keys['s3_secret']
|
||||||
|
)
|
||||||
|
|
||||||
|
# generate key and check uniqueness
|
||||||
|
key = Anybase::Base62.random(Shorten.path_size)
|
||||||
|
key_check = ShortenUrl.filter(:url => key).first
|
||||||
|
|
||||||
|
while key_check
|
||||||
|
key = Anybase::Base62.random(Shorten.path_size)
|
||||||
|
key_check = ShortenUrl.filter(:url => key).first
|
||||||
|
end
|
||||||
|
|
||||||
|
# merge key and extension
|
||||||
|
filename = key + ".jpg"
|
||||||
|
|
||||||
|
# upload to S3
|
||||||
|
AWS::S3::S3Object.store(filename, params[:media], keys["s3_bucket"], :access => :public_read)
|
||||||
|
object_url = AWS::S3::S3Object.url_for(filename, keys["s3_bucket"], :authenticated => false)
|
||||||
|
|
||||||
|
# generate shorturl
|
||||||
|
url = ShortenUrl.new(:url => object_url, :key => key, :image => "true")
|
||||||
|
url.save
|
||||||
|
|
||||||
|
"<mediaurl>" + url.short_url + "</mediaurl>"
|
||||||
|
end
|
||||||
|
|
||||||
post '/upload' do
|
post '/upload' do
|
||||||
require 'aws/s3'
|
require 'aws/s3'
|
||||||
require 'yaml'
|
|
||||||
|
|
||||||
keys = YAML.load(File.open("keys.yaml", "r").read)
|
keys = YAML.load(File.open("keys.yaml", "r").read)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue