xceção de elenco do @Class no Groovy
Quero fazer upload de uma imagem usando um groovy em grails. Minha página gsp é a seguinte (estou mostrando uma versão simplificada do original)
<g:form controller="post" action="save" enctype="multipart/form-data">
My picture <input type="file" name="myPicture" />
<g:submitButton name="submit" value="Save"/>
</g:form>
inha classe de domínio é a seguinte:
class Post {
byte[] myPicture
static mapping = {
myPicture type: "blob"
}
Eu preciso desse mapeamento, caso contrário, o MySql criará um smallblob pequeno demais para caber nas imagens
static constraints = {
myPicture(nullable:false)
}
}
No controlador, tenho uma ação chamada save, que é a seguinte:
def save = {
def post = loadPost(params.id)
post.properties = params
if(post.save()) {
print "hallo world"
redirect(action:'list', params:params)
} else {
render(view:'edit', model:[post:post])
}
}
A exceção é lançada quando tento salvar a imagem no banco de dado
2009-04-27 18:16:07,319 [20806951@qtp0-0] ERROR errors.GrailsExceptionResolver - java.lang.ClassCastException: [B cannot be cast to java.sql.Blob
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.ClassCastException: [B não pode ser convertido para java.sql.Blob
Alguma dica, por que é isso?
BTT, vi em um tutorial que as imagens eram tratadas como strings, mas não funcionavam tão be