使Django返回响应为"不同的文件名"

Den*_*gan 15 django filenames http httpresponse

我有一个Django视图,它返回HttpResponse一个特殊的MIME类型,使用户的浏览器"下载"该文件,而不是在浏览器中查看它.问题是响应将保存为的默认文件名是用户尝试访问的URL.

有没有办法在HttpResponse对象中包含默认文件名,还是必须重定向到不同的URL才能实现?

Dom*_*ger 32

文档中有一个相关的例子:

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
Run Code Online (Sandbox Code Playgroud)

  • 尝试使用 mimetype 时出错,但将 HttpResponse 更改为 HttpResponse(content, content_type='application/pdf') 对我有用 (2认同)