在 Flask 中返回文件可以通过 send_file 或 send_from_directory 方法实现。以下是详细方法和示例:
1. 使用 send_file 返回文件
这是最直接的方法,适用于返回任意路径的文件。
from flask import Flask, send_file
app = Flask(__name__)
@app.route("/download")
def download_file():
# 文件路径(绝对路径或相对路径)
file_path = "path/to/your/file.pdf"
# as_attachment=True 会强制浏览器下载文件(而不是直接打开)
return send_file(
file_path,
as_attachment=True,
download_name="custom_filename.pdf" # 可选:自定义下载时的文件名
)
关键参数:
-
as_attachment: 是否作为附件下载(默认False,浏览器可能直接打开文件)。




![[蓝桥杯] 挖矿(CC++双语版)](https://i-blog.csdnimg.cn/direct/58e77d0bd1dd4b398ad4bc5ddc9c1dd8.png)














