我希望用户能够点击这样的链接:
<a href="/download?file=123">download</a>
让 Pyramid 1.2.7 应用程序像这样处理视图
@view_config(route_name='download')
def download(request):
file_id = request.GET['file']
filename = get_filename(file_id)
headers = request.response.headers
headers['Content-Description'] = 'File Transfer'
headers['Content-Type'] = 'application/force-download'
headers['Accept-Ranges'] = 'bytes'
headers['X-Accel-Redirect'] = ("/path/" + filename + ".pdf")
return request.response
我的 nginx 配置看起来像这样
location /path/ {
internal;
root /opt/tmp;
}
这一切都有效,但浏览器显示的不是显示 pdf 的下载,而是显示一堆 PDF 垃圾。
如何设置我的 Pyramid 视图以使浏览器执行正确的操作?