2012-04-02 3 views
0

私は次のステップのいくつかを実行することになっています: はどこが間違っているのかを知ってうれしいです 1。データベースに挿入するための(txt)ファイルのBlobオブジェクトを作成しようとしています

(fullref).userfile =新しいSerialBlob。アップロードされたファイル

コントローラで
java.sql.Blob userfile;//blob reference 
  1. コントローラにSerialBlob を使用してブロブのオブジェクトを作成を表す(ドメイン・クラスのBLOB参照を作成します([私はここで何を渡すか分からない));

  2. 次に、blobオブジェクトに対してsetBinaryStreamメソッドを呼び出し、返されたoutputstreamをdbに保存する必要があります。

助けてください!皆さん、ありがとうございました。

+0

を、あなたは、CLOB(キャラクタラージオブジェクト)ではなく、BLOB(バイナリラージオブジェクト)が必要です。 – adarshr

答えて

0

java.sql.Blobを使用する必要はありません。単純にバイト配列を使用できます。

マップされたフィールドのタイプは、maxSizeという制約から指示されています。

class ExampleDomain { 
    ... 
    byte[] userfile 

    static constraints = { 
     ... 
     userfile maxSize: 10000000 
    } 
} 

上記の例は、MySQLタイプmediumblobのフィールドを生成します。

より大きいmaxSize制約を使用すると、他のblobタイプが使用されます。あなたはこのようなExampleDomainのインスタンス作成することができ

は今:テキストファイルの場合は

def example = new ExampleDomain(userfile: yourFile.bytes,....)  
関連する問題