在 Flask 中,要实现根据指定文件名下载文件的功能,你可以使用 Flask 的 send_from_directory
函数。这个函数可以用来从指定的目录发送文件。在这种情况下,你可以将应用的静态文件夹(默认是 'static')作为文件存储的位置。
首先,确保你的文件存放在 'static' 文件夹中,或者你指定的其他文件夹中。然后,你可以通过以下代码实现下载功能:
from flask import Flask, send_from_directory
app = Flask(__name__)
@app.route('/download/<filename>')
def download_file(filename):
return send_from_directory('static', filename, as_attachment=True)
if __name__ == '__main__':
app.run(debug=True)
这段代码中,<filename>
是你想要下载的文件的名称。例如,如果你有一个名为 'my_file.txt' 的文件存放在 'static' 文件夹中,你可以通过访问 '/download/my_file.txt' 来下载这个文件。
注意 as_attachment=True
这个参数。这个参数告诉浏览器这是一个需要下载的文件,而不是在浏览器中打开的文件。如果你不设置这个参数,浏览器可能会尝试打开文件而不是下载它。