[Plone-IT] return di un file su filesystem da view

ciccio2000 ciccio2000 a users.sf.net
Mer 14 Mar 2012 15:07:43 UTC


Ciao a tutti.

Dunque ho un prodotto sviluppato con dexterity.
All'interno di una view ho inserito un metodo che viene chiamato dalla submit
di un form e dovrebbe restituire un file zip.

Il file in questione non e' un oggetto plone, ma viene creato dinamicamente
su filesystem a seconda dei dati inseriti nel form.

Quindi per far restituire il file, ho fatto cosi': 

********************************************************************
iterator = filestream_iterator(zfname, 'rb')
stat = os.stat(zfname)

RESPONSE=self.request.response
RESPONSE.setHeader('Content-Disposition', 'attachment; filename="%s"' % zfname.replace("/tmp/",""))
RESPONSE.setHeader('Content-Type', "application/zip")
RESPONSE.setHeader('Content-Length', stat.st_size)

return iterator
********************************************************************

Ora, in questo modo mi fa scaricare un file zip con il nome corretto ma che in
realta' non e' altro che l'html della view.

Se invece dell'iterator leggo tutto il file (e' un approccio da evitare, ma
per provare ...) restituisce il file zip corretto, ma sempre mischiato con
l'html della vista.

Qualcuno ha idea di quale possa essere il problema?

La mia conf:
Plone 4.0.5
Zope 2.12.17
Python 2.6.6

-- 
| Francesco Benincasa
| http://www.linkedin.com/in/fbenincasa
****
If one cannot enjoy reading a book over and over again, there is no use
in reading it at all.
		-- Oscar Wilde


Maggiori informazioni sulla lista Plone-IT