Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make Django return response as a "different filename"

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?

like image 583
Deniz Dogan Avatar asked May 07 '09 08:05

Deniz Dogan


1 Answers

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(content_type='application/pdf')
    response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
    return response
like image 185
Dominic Rodger Avatar answered Sep 27 '22 17:09

Dominic Rodger