Flask实现下载

概述

通过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文件时,会把文件内容直接显示在浏览器


原文出处:/show_1EF3UNvZiZSm.html