Oi xnox,
realmente, salvar no banco de dados não é a melhor solução (nem a pior). se for para salvar os arquivos em diretórios, no entanto, você tem de tomar cuidado para manter os seus arquivos sincronizados com os registros em seu bd ok? Este é o grande perigo.
Mas bem: eu faço isto o tempo inteiro, e vou te dar o caminho das pedras. Primeiro você vai ter de usar um formulário com enctype do tipo mime. Neste caso, Grails te ajuda com a tag uploadForm (<!-- m --><a class="postlink" href="http://grails.org/doc/latest/ref/Tags/uploadForm.html">http://grails.org/doc/latest/ref/Tags/uploadForm.html</a><!-- m -->)
No controlador, você vai escrever um código muito similar ao que vou colar abaixo:
def save = {
def path = "C:/seu_caminho" + System.getProperty("file.separator") + request.getFile("arquivo").getFileItem().getName()
def arquivo_fisico = new File(path)
if (! arquivo_fisico.getParentFile().exists()) {
arquivo_fisico.getParentFile().mkdirs() // crio os diretórios raiz caso não existam
}
request.getFile("arquivo").transferTo(new File(path))
}
Mais sobre upload com Grails:
<!-- m --><a class="postlink" href="http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.1.9">http://grails.org/doc/latest/guide/6.%2 ... html#6.1.9</a><!-- m --> Uploading Files