2011年8月14日日曜日

gmongoで画像ファイルなどのバイナリーデータを取り扱う

gmongoで画像ファイルなどのバイナリーデータは、以下のコードのように通常のフィールド同様に取り扱えます。

@Grab(group='com.gmongo', module='gmongo', version='0.8')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("localhost", 27017)
db = mongo.getDB("local")
db["images"].drop()
col = db["images"]
// 画像ファイルの中身をDBに格納
col.insert([name:"san francisco", image:new File("./SF.JPG").getBytes()])

// DBに格納された画像ファイルを取得
doc = col.findOne([name:"san francisco"])
new File("output.jpg").setBytes(doc.image)

動作環境
Groovy 1.8.0, JDK6 Update22, gmongo 0.8, MongoDB 1.8.2

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ


0 件のコメント:

コメントを投稿