Rowan Woodhouse wrote:
Hi,
I need to generate a download file on the fly (it's an excel spread sheet
with content drawn from a database) but I'm having some difficulty working
out the best way to do this.
At the moment I've got an Archetype based product that has a FileField in
the schema. So far I've been attempting to work out a way to create the
correct sort of accessor so that the generated file is never saved in Zope
itself (at the moment I just get the file coming over as plain text mime
type). Is this the best approach? If so could someone point me in the
correct direction on how to wrap the file correctly so that it downloads
correctly instead of coming over as a plain text file? If not could someone
point me in a more sensible direction?
Regards,
Rowan
Create a method on your class or a browser view. The latter is
preferred. Regardless which you choose you will have a method to do the
work somewhere, eg.
def download(self, data):
"""
Make data available as download.
data is a string representation of the Excel data.
This method is an example and not concerned with encoding issues.
"""
# Set headers and return
setheader = self.REQUEST.RESPONSE.setHeader
setheader('Content-Length', len(data))
setheader('Content-Type', 'application/x-msexcel; charset=utf-8')
setheader('Content-Disposition', 'filename=myfile.xls')
return data
Not tested!
Hedley
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers