概述
通过send_from_directory()方法实现下载文件
语法
send_from_directory(directory, filename, **options)
解释
- directory:路径,
"."表示当前路径 - filename:文件名。如果文件名含有中文,可能需要做额外处理
- options:关键字参数
- as_attachment:为False时,下载图片、txt文件时,会直接显示在浏览器
例子
# coding=utf-8
from flask import Flask,redirect,json,url_for,send_from_directory,request
app = Flask(__name__)
@app.route('/download')
def download():
filename=request.args.get('filename')
return send_from_directory('.',filename,as_attachment=True)
if __name__ == "__main__":
app.run(debug=True)
注意:send_from_directory()方法,需加参数as_attachment=True,否则下载图片格式、txt文件时,会把文件内容直接显示在浏览器