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>)