【发布时间】:2012-10-09 16:24:11
【问题描述】:
我希望用户能够点击这样的链接:
<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 视图以使浏览器执行正确的操作?
【问题讨论】: