すでにこの設定などは古くなっている可能性があります。
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 件のコメント:
コメントを投稿