controle de download
29/08/2008 00:00
0
eu fiz uma rotina de upload e download de arquivo...

o upload tah funcionando normal, dai na hora de fazer o download ele aparece a tela de download normal e faz o download aparentemente normal tambem, mas o arquivo é baxado corrompido, ai vc nao consegue abrí-lo depois. Somente arquivo txt e doc simples (sem tabelas) é que são baixados sem problemas, todos os outros vem corrompido, segue o codigo que estou usando para efetuar o download:
def downloadFile = {
def mat = Material.get( params.id )
def file = new File('web-app/material/'+ mat.id + "-" + mat.nome + mat.ext)
response.setHeader("Content-Type", "application/octet-stream;")
response.setHeader("Content-Disposition", "attachment;filename=\" ${mat.nome}${mat.ext}\"")
response.setHeader("Content-Length", "${file.size()}")
response.outputStream << file.text.bytes
return false
&#125;


alguem pode me ajudar?

valeu. abracos
Tags: Grails


0
Não use &quot;file.text.bytes&quot;.

O metodo java.io.File.getText() lê o arquivo linha a linha e coloca uma quebra entre cada uma delas. Por isso seu arquivo está corrompido. A maneira correta de se fazer isso é:
file.withInputStream &#123; response.outputStream << it &#125;


Para os favoritos: <!-- m --><a class="postlink" href="http://groovy.codehaus.org/groovy-jdk/">http://groovy.codehaus.org/groovy-jdk/</a><!-- m -->

valeuz...


0
Marcos, funcionou perfeito....

brigadao... valeu
02/09/2008 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto