すでにこの設定などは古くなっている可能性があります。
Slim3の開発はこんなブログより正式ドキュメントが有効です。
Slim3サイト
非公式と言われていますが充実した日本語サイトもあります。
Slim3日本語サイト
さて、Slim3を手に入れ、Strutsでアップロードを可能にした私は
ついにデータを保存するということに挑戦。
っていうか簡単なんですけどね。
単純にBlobデータを使いました。
ファイルをアップロードして
FormFileからInputStreamを取り出して
ByteArrayOutputStreamを利用して
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream stream = aFile.getInputStream();
byte[] buffer = new byte[8192];
//終了まで読み込み続ける
while (stream.read(buffer) != -1) {
baos.write(buffer);
}
Blob imageBlob = new Blob(baos.toByteArray());
[com.google.appengine.api.datastore.Blob]ですね。
を生成します。
これをJDOで永続化してBigTableに保存します。
でそれを検索して
Image image = getPersistentImage(Long.valueOf(shopId),Long.valueOf(imageId));
Blob blob = image.getImage();
rtnByte = blob.getBytes();
※ImageってのはBlobを保存したパーシスタントクラスです。
取得します。
これをストリームに描きだしたりすると画像が出ます!
Blobを見た時からこれをやりたかったんですけどね。
Slim3の力を借りてここまでたどり着きました!
0 件のコメント:
コメントを投稿