2016-10-26 10 views
1

画像をbytebufferとしてcassandraテーブルに挿入したいとします。Javaを使用して画像をcassandra blobに挿入

表は次のとおり 従業(名前テキスト、イメージBLOB)は、Javaを使用してのByteBufferの形態における可変BBに

Iが格納された画像。 このバイトバッファbbのデータをcassandraテーブルに挿入するには? 誰でも助けてくれますか?

+0

突然変異の最大サイズに注意してください。また、1MB(IIRC)より大きなブロブを保存することはお勧めしません。 – xmas79

答えて

2

ByteBufferをJavaドライバで直接使用することができます。

http://ac31004.blogspot.com.au/2014/03/saving-image-in-cassandra-blob-field.html上の例を参照してください:

ByteBuffer buffer =ByteBuffer.wrap(b); 

.... 
// image is of type blob 
PreparedStatement ps = session.prepare("insert into Messages (image, user, interaction_time,imagelength) values(?,?,?,?)"); 
BoundStatement boundStatement = new BoundStatement(ps); 

session.execute(boundStatement.bind(buffer, "Andy", convertor.getTimeUUID(),length)); 

は、彼らが直接準備文のブロブ型パラメータにByteBufferのをバインドを参照してください。

+0

ありがとうございました!私は上記のリンクを試みた。私は遠隔地にあるLinuxサーバで働いている。私は次のエラーが発生しています: –

+0

スレッド "main"の例外com.datastax.driver.core.exceptions.NoHostAvailableException:クエリに失敗したすべてのホストが失敗しました。 –

関連する問題