views:

386

answers:

1

I have a Django view which returns an HttpResponse with a special MIME type to make the user's browser "download" the file instead of view it in the browser. The problem is that the default filename that the response will be saved as is the URL which the user tried to access.

Is there any way to include a default filename in the HttpResponse object or do I have to redirect to a different URL to make this happen?

+9  A: 

There's a relevant example in the docs:

from django.http import HttpResponse

def some_view(request):
    # Create the HttpResponse object with the appropriate headers.
    response = HttpResponse(mimetype='application/pdf', <snip>)
    response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'
    return response
Dominic Rodger