gpt4 book ai didi

python - 无法使用具有实际名称的 flask 下载文件

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:51 24 4
gpt4 key购买 nike

我正在尝试使用 flask 下载文件。我的代码如下

@app.route('/Download')
def Down():
rpm = request.args.get('rpm')
root = '/home/rpmbuild/RPMS/'
return send_from_directory(root,rpm)

文件名在url中传递。当我点击 url 时,我可以下载文件,但文件名总是在 Download 中。我需要它是文件的实际名称。我也尝试过 send_file() 但它也在以名称 Download 下载它。

最佳答案

send_from_directory 的“选项”与 sendfile 相同:

flask.send_file(filename_or_fp, mimetype=None, as_attachment=False,
<b>attachment_filename=None</b>, add_etags=True,
cache_timeout=None, conditional=False,
last_modified=None)

所以你应该这样调用它:

@app.route('/Download')
def Down():
rpm = request.args.get('rpm')
root = '/home/rpmbuild/RPMS/'
return send_from_directory(root,rpm,<b>attachment_filename='foo.ext'</b>)

当然,您可以将 'foo.ext' 替换为您要为文件指定的名称。您可能还想将 as_attachment 参数设置为 True

如果你想要同名,你可以使用os.path.basename(..):

<b>import os</b>

@app.route('/Download')
def Down():
rpm = request.args.get('rpm')
root = '/home/rpmbuild/RPMS/'
return send_from_directory(root,rpm,<b>as_attachment=True</b>,
attachment_filename=<b>os.path.basename(rpm)</b>)

关于python - 无法使用具有实际名称的 flask 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43068369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com