俺の雑記帳

My random memorandumです。(つまり、個人的な備忘録であり、その点ご容赦を。)

ブロブストアの使い方 → ファイルアップロードでなくEメール受信でブロブストアへ

Google App Engine でのファイルアップロード (keicode.com)
ブロブストアでのファイルアップロードの解説は沢山見つかるが、アップロード画面にサーブレットを使わず、JSPだけで処理しているのはこれだけ。本題とズレるが、Servletはめんどくさいと思ってたけど、テスト用とか簡易な画面なら、JSPってこんなに楽に書ける!
ブロブキーを取り扱う(取得と生成) < TechBooster
この前後の記事で、4ページ以上は連続した記事がある。ここでは、BlobInfo クラスを知ったのが役に立った(バイト配列(byte[])で受け取る為に BlobstoreService#fetchData()でサイズを渡さなければならないため、Blobinfo#getSize()を使った(※)。なおバイト配列を使いたかったのは、ブロブストアにEメールをそのまま入れてるので、他のメール処理と全く同じ手順で取得したかったから。同じ手順である必要はないけど、基本コピペでコードを書いてるので、同じ手順が楽)
(※)ここら辺はもうコピペは諦め、ちゃんとここここJavaDoc(?)を参照した(なので、もっとスムーズな方法もあるだろう)。
なお、この後の記事で画像の使い方に具体的に触れている。

画像といえば、次も参考になるかも。(今は不要だが)。
Google App Engine を使ってみる。(その3) < 電・脳・日・記
BlobStore の画像データを ImageService で扱うやり方。この前のエントリで、ImageServiceを使わないで実装したみたい。

----
ファイルアップロードでなく、Eメール受信で ブロブストアへ格納したい
(自作のGEAアプリでなく)GAEプラットフォーム側のURLに、POSTするしかなさそう(ホントか? ここに「アプリケーションの中で利用するケース」云々とあるが)なので、少し苦労しそう。
とりあえず、「java プログラムからPOSTする」などで検索した以下を参照予定。

接続先のURLへ情報を送信し、結果を保存する < @IT:Java TIPS
ここはデータ取得について力が入っているのか?

JavaからPHPへファイルをPOSTする < Prog Blog From 憩い場所
ここは画像を決め打ち。

javaからphpへのファイルアップロードで困っています - Java - 教えて!goo
このマネしたら確実そう。というのは、
 con.setRequestProperty ( "Content-Type", "multipart/form-data; boundary=" + bnd );
などと、WebフォームでPOSTするときの
 <form action="..." method="POST" enctype="multipart/form-data">
とそっくりだから。
ただ、ここまでローレベルで記述しなければならないのか疑問。