-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
John Toews wrote:
Zope 2.8.0, Python 2.3.5
I'm having a heck of a time figuring out how to zip up some files in my zope
instance and return them to the user. I can sucessfully create a zip file on
the local file system, but if I try to pass it back to the user it is
corrupted. Of course I'd rather not create this tmp3.zip file, so if there's
a way around that (which I'm sure there is!) please do let me know.
filename = 'test.zip'
response = self.REQUEST.RESPONSE
response.setHeader('Content-Type','application/zip')
response.setHeader('Content-Disposition','attachment; filename=%s'
% filename)
# tried zf = zipfile.ZipFile( response, 'w' ) but get error, ZHTTP
object doesn't have tell method
zf = zipfile.ZipFile( '/tmp3.zip', 'w' )
zf.writestr( 'testfilename', str( self._getOb( testfileid ) ) )
zf.close()
f = open('/tmp3.zip')
return f.read()
Any thoughts on what fairly obvious thing I'm doing wrong? Thanks!
A couple of thoughts:
- Be sure you open the file in binary mode ('wb' rather than 'w');
this won't help unless you are running Zope on Windows, however,
because Windows is the only platform where the C runtime will mangle
the line endings for files it thinks are text, rather than
binary.
- You could use a StringIO instance, rather than a tempfile; YMMV.
Tres.
- --
===
Tres Seaver +1 202-558-7113 [EMAIL PROTECTED]
Palladion Software Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDvI6r+gerLs4ltQ4RAvrMAJ9oH0gtorWuW6NeowfVCfZ6PbyYSgCfbCHd
8VhNtnUrBeEiIp8sSLSVQOg=
=f+qw
-END PGP SIGNATURE-
___
Zope maillist - Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )