来源:https://blog.csdn.net/qq_42482078/article/details/131514743
返回文件
from flask import Flask
from flask import send_file
app = Flask(__name__)
@app.route('/download')
def download_file():
return send_file('test.json')
if __name__ == '__main__':
app.run(debug=True)
- path_or_file:需要发送的文件路径或者二进制文件对象
- mimetype:文件的MIME类型,如果没有设置,会尝试根据文件名进行检测
- as_attachment:布尔类型(默认False),为True表示浏览器下载保存文件,为False表示前端直接显示文件内容
- download_name:保存文件时附件的默认名称,默认为文件名
流式返回文件
import io
from flask import Flask
from flask import send_file
app = Flask(__name__)
def get_binary_io():
with open('test.json', 'r', encoding='UTF-8') as file:
bytes_io = io.BytesIO(file.read().encode())
return bytes_io
@app.route('/download')
def download_file():
return send_file(get_binary_io(), mimetype='application/json')
if __name__ == '__main__':
app.run(debug=True)