I am avoiding the creation of files on disk, this is what I have got so far:
def get_zip(request):
import zipfile, StringIO
i = open(\'picture.jpg\',
For StringIO
you should generally use o.getvalue()
to get the result. Also, if you want to add a normal file to the zip file, you can use zf.write('picture.jpg')
. You don't need to manually read it.
Avoiding disk files can slow your server to a crawl, but it will certainly work.
You'll exhaust memory if you serve too many of these requests concurrently.