Download de arquivo ZIP
18/08/2010 00:00
0
olá.

estou gerando um arquivo zip e tentando fazer aparecer a tela de download para o usuário.

a compactação e o download está funcionando, mas ao tentar abrir o arquivo zip que foi feito o download, aparece a mensagem

This archive is not a valid Zip archive

o código para compactar e fazer o download está abaixo:

def zipName = new Date().format("yyyyMMddHHmmss") + ".zip"

def destino = new FileOutputStream(
"web-app/file/" + zipName)
def zipStream = new ZipOutputStream(new BufferedOutputStream(destino))

for (f in files) {
def entry = new ZipEntry(f.name)
zipStream.putNextEntry(entry)
f.withInputStream { is->
zipStream << is
}
zipStream.closeEntry()
zipStream.flush()
f.delete()
}

zipStream.close()

def file = new File(&quot;web-app/file/&quot; + zipName)

response.contentType = &quot;application/zip&quot;
response.setHeader(&quot;Content-Disposition&quot;, &quot;attachment;filename=\&quot; ${zipName}\&quot;&quot;)
response.setHeader(&quot;Content-Length&quot;, &quot;${file.size()}&quot;)
response.setHeader(&quot;Cache-Control&quot;, &quot;must-revalidate&quot;);
response.outputStream << file.text.bytes


alguém saberia me dizer o que está errado?

vlw
Tags: Grails


0
resolvido.

no lugar de response.outputStream << file.text.bytes

eu troquei por response.outputStream << file.newInputStream()

funcionando!


vlw
18/08/2010 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