Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyramid强制下载而不在浏览器中打开文件_Python_Pyramid - Fatal编程技术网

Python pyramid强制下载而不在浏览器中打开文件

Python pyramid强制下载而不在浏览器中打开文件,python,pyramid,Python,Pyramid,我想在python金字塔框架中实现force,当请求像 example.com/media/files/test.mp3 它将在浏览器中打开并开始运行。我想阻止它,让它强制下载 只需在下载链接中添加download=“test.mp3” 因此,这就像: <a href="example.com/media/files/test.mp3" download="test.mp3">Download Now</a> 我只是以这种方式工作,它对我有效强制下载我发送文件名请求参数

我想在python金字塔框架中实现force,当请求像

example.com/media/files/test.mp3 它将在浏览器中打开并开始运行。我想阻止它,让它强制下载

只需在下载链接中添加
download=“test.mp3”

因此,这就像:

<a href="example.com/media/files/test.mp3" download="test.mp3">Download Now</a>

我只是以这种方式工作,它对我有效强制下载我发送文件名请求参数

@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_路由('download','/download')


发送文件名参数它对我有用。

请给我们一些代码。否则没有人能帮助你。请在你的帖子中加入疑问句。首先我尝试了这种方式[强制下载对我不起作用]