Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save viveksoundrapandi/9600712 to your computer and use it in GitHub Desktop.

Select an option

Save viveksoundrapandi/9600712 to your computer and use it in GitHub Desktop.

Revisions

  1. viveksoundrapandi created this gist Mar 17, 2014.
    17 changes: 17 additions & 0 deletions python django create and download zip
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    from shutil import make_archive
    from django.core.servers.basehttp import FileWrapper
    def download(request,file_name=""):
    """
    A django view to zip files in directory and send it as downloadable response to the browser.
    Args:
    @request: Django request object
    @file_name: Name of the directory to be zipped
    Returns:
    A downloadable Http response
    """
    file_path = "/tmp/albums/"+file_name
    path_to_zip = make_archive(file_path,"zip",file_path)
    response = HttpResponse(FileWrapper(file(path_to_zip,'rb')), content_type='application/zip')
    response['Content-Disposition'] = 'attachment; filename='+file_name.replace(" ","_")+'.zip'
    return response