Skip to content

Instantly share code, notes, and snippets.

@kkosuge
Created September 23, 2011 14:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kkosuge/1237471 to your computer and use it in GitHub Desktop.
Save kkosuge/1237471 to your computer and use it in GitHub Desktop.
GyazoでTumblrに直接アップロードする
#!/usr/bin/env ruby
require 'net/http'
EMAIL = 'メールアドレス'
PASS = 'パスワード'
HOME = 'http://kksg.tumblr.com' #アップロードするTumblrのurl
tmpfile = "/tmp/image_upload#{$$}.png"
imagefile = ARGV[1]
if imagefile && File.exist?(imagefile) then
system "sips -s format png \"#{imagefile}\" --out \"#{tmpfile}\""
else
system "screencapture -i \"#{tmpfile}\""
if File.exist?(tmpfile) then
system "sips -d profile --deleteColorManagementProperties \"#{tmpfile}\""
end
end
if !File.exist?(tmpfile) then
exit
end
imagedata = File.read(tmpfile)
File.delete(tmpfile)
# upload
boundary = '----BOUNDARYBOUNDARY----'
UA = 'gyazo-to-tumblr'
HOST = 'www.tumblr.com'
CGI = '/api/write'
data = <<EOF
--#{boundary}\r
content-disposition: form-data; name="email"\r
\r
#{EMAIL}\r
--#{boundary}\r
content-disposition: form-data; name="password"\r
\r
#{PASS}\r
--#{boundary}\r
content-disposition: form-data; name="type"\r
\r
photo\r
--#{boundary}\r
content-disposition: form-data; name="data"; filename="gyazo-to-tumblr"\r
\r
#{imagedata}\r
--#{boundary}--\r
EOF
header ={
'Content-Length' => data.length.to_s,
'Content-type' => "multipart/form-data; boundary=#{boundary}",
'User-Agent' => UA
}
Net::HTTP.start(HOST,80){|http|
res = http.post(CGI,data,header)
id = res.response.to_ary[1]
system "echo -n #{HOME}/post/#{id} | pbcopy"
system "open #{HOME}/post/#{id}"
}

GyazoでTumblrに直接アップロードする

良いと思った画像は何も考えずTumblrに投げるのが世界のトレンドです。Gyazoを使って、もっと直感的にアップロードしましょう。

##使い方

  • Gyazo様をダウンロードしてアプリケーションフォルダに入れます。 http://gyazo.com/
  • 下記スクリプトのEMAIL,PASS,HOMEを各自書き換えてGyazo.appのscriptファイルと入れ替えます。
  • scriptは /Applications/Gyazo.app/Contents/Resources にあるはずです。
  • Macの話をしています。
  • scriptファイルの場所までアクセスする方法ですが、Finderを使う場合は上のメニューから ”移動>フォルダへ移動” で"/Applications/Gyazo.app/Contents/Resources"を入れればいけます。

使います。

なんか

画面録画してみた / スクリーンショットで瞬間リブログ on Vimeo http://vimeo.com/29481519

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment