2012年1月14日土曜日

Google App Engine(画像 その1)

Google App Engine の画像に関するメモ

・ImagesService API で加工できる
API
・入力フォーマット, JPEG, PNG, GIF, BMP, TIFF, ICO

・出力フォーマット, JPEG, PNG

・静的リソースの画像をロードして, 加工して, 出力できる

・Image Service API の出力は, 1MB以内

・1MB以上の画像を,  永続化 もしくは 加工すると

com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large.
Exception になる

・1MB以内であれば, Blob データ
@Persistent private Blob imageblob;   
というようなBlob にデータを保存できる

・画像のupload には, commons-fileupload を使うと便利(1.2.2)
(※Ajax なら, dwr がいいのでは)

・1MBをこえる画像は, BlobStoreという, 2BGまで保存できる機能を利用するとよい

・BlobStoreへの保存は, BlobstoreService を使います。プログラムは特殊です。
サンプルを有効活用すべし。

・BlobStoreのデータは, 文字列のキーを使って取り出せる
(※このキーも永続化して別で保存しておけば, 自在に取り出せる)

・BlobStoreに保存したデータをキーを使ってロードして, ImageServiceに渡すことができる
この場合, 1MBの制限をこえられる? 加工して, 縮小することができました。
警告: No image reader found for format "ico". An ImageIO plugin must be installed to use this format with the DevAppServer.

※Warning がでました。


・BlobStoreのデータをそのまま表示するにも特殊な書き方が必要



具体的なプログラムは次回以降のblogでメモしておこうと思います。
Google App Engineの概要説明
"Google App Engine for Java 実践クラウド・プログラミング"
などを参考とさせていただきました。

0 件のコメント:

コメントを投稿