Function to create in-memory zip file and return as http response
问题 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', 'rb').read() o = StringIO.StringIO() zf = zipfile.ZipFile(o, mode='w') zf.writestr('picture.jpg', i) zf.close() o.seek(0) response = HttpResponse(o.read()) o.close() response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = "attachment; filename=\"picture.zip\"" return response Do you think is correct-elegant-pythonic