我希望在请求出现时在python金字塔框架中实现强制
example.com/media/files/test.mp3 它在浏览器中打开并开始运行。我想阻止它并强行下载。
答案 0 :(得分:1)
我只是按照这种方式工作,它适用于我强行下载我发送文件名请求参数
@view_config(route_name='download')
def download_view(request):
MEDIA_PATH= os.path.join(PROJECT_ROOT, 'media'),
if request.params.get('filename', ''):
filename = request.params['filename']
file_path = MEDIA_PATH + filename
base_file_name = os.path.basename(file_path)
response = FileResponse(file_path, request=request,cache_max_age=86400)
headers = response.headers
headers['Content-Type'] = 'application/download'
headers['Accept-Ranges'] = 'bite'
headers['Content-Disposition'] = 'attachment;filename=' +base_file_name
return response
在init.py中添加此视图
config.add_route(' download',' / download')
发送文件名参数对我有用。
答案 1 :(得分:-1)
只需将download="test.mp3"
添加到下载链接。
所以它会像:
<a href="example.com/media/files/test.mp3" download="test.mp3">Download Now</a>