我应该遵循以下一些步骤: 很高兴知道我哪里出错了 1。在域类中创建Blob引用(表示上载的文件
java.sql.Blob userfile;//blob reference
在控制器中使用SerialBlob创建blob的对象 在控制器中。
(fullref).userfile = new SerialBlob([我不知道该在这里传递什么]);
然后我想在blob对象上调用setBinaryStream方法,并且应该发送返回的outputstream以便在db中保存。
请帮助!!提前感谢你们。
答案 0 :(得分: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,....)