Make Django return response as a “different filena

2020-07-02 09:51发布

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?

1条回答
狗以群分
2楼-- · 2020-07-02 10:27

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
查看更多
登录 后发表回答