2011/06/24

Recent entries from same category

  1. errors.Join が入った。
  2. unsafe.StringData、unsafe.String、unsafe.SliceData が入った。
  3. Re: Go言語で画像ファイルか確認してみる
  4. net/url に JoinPath が入った。
  5. Go の struct は小さくできる(fieldalignment のススメ)

Go言語フリークの皆さんこんばんわ。
テンポラリ的にキャプチャ画像をアップロードする際にはgyazoが一般的ですよね。僕もよく利用しています。
今日はこのgyazoに画像をアップロードするクライアントと、サーバを書きました。
mattn/gyago - GitHub

Gyazo application written in go

https://github.com/mattn/gyago
Gyago

Gyazo on AppEngine

http://gyazo.mattn-jp.workers.dev/
コマンドラインで動くクライアントと、GoogleAppEngineで動くサーバです。クライアントはキャプチャ動作はしませんが、引数で与えたpngファイルをgyazoサーバにアップロード出来ます。またサーバはdatastoreを使って画像データをblobに格納する事でgyazoサーバを実現しています。

タイトルページはGoogle WebFont APIを使ってなんなーくカッコいい感じにしてみました。ほんとになんとなーくです。
Google Web Fonts

Google Web Fonts lets you browse all the fonts available via theGoogle Web Fonts API. All fonts in t...

http://www.google.com/webfonts
GoogleAppEngineの無料枠なので、すぐMax Quotaになっちゃうかも知れませんが、良かったら遊んでみて下さい。
なお、クライアントはデフォルトではgyazo.comにアップロードしちゃうので # gyago -e=http://gyazo.mattn-jp.workers.dev/ imagefile.png
という感じにアップロード先のエンドポイントを指定してあげて下さい。 ちなみに、sendさんがsinatraで書いたgyazoサーバにアップロードしたい場合は # gyago -e=http://gyazo.send.sh/ imagefile.png
と指定すれば動きますが、現状のGoはmultipartの処理で、先頭に空白行が1行入る動作になっていて、rack-1.2と相性が悪い(先頭に空白行があるとマッチしない)ので、golang-devにパッチを投げてあります。
と書いた所で再度見たら、もうsubmitされてましたので、hg pullしてtipsにすると入ってます。

ちなみに、rack-1.3では先頭に空白行が入っていても正しく読める様な修正が入っている模様です。

Posted at by | Edit