Flask 是一个轻量级的 Web 框架,通过其简洁的API和灵活性,可以轻松地实现各种Web应用。在本文中,我们将探讨如何在 Flask 中实现一个文件下载服务,通过一个简单的例子来演示如何在浏览器中触发文件下载。
1. 准备工作
首先,我们需要创建一个 Flask 应用,并引入所需的模块。在这个例子中,我们使用了 requests
模块来下载文件,以及 Flask 的 send_file
函数来发送文件到客户端。
import os
import requests
from flask import Flask, send_file
2. 实现文件下载函数
我们定义了一个 download_file
函数,用于从指定的 URL 下载文件并保存到本地。这个函数使用 requests.get
发送 GET 请求,通过 open
函数以二进制写入模式将文件写入本地。
def download_file(url, destination_filename):try:with requests.get(url, stream=True) as response:response.raise_for_status()with open(destination_filename, 'wb') as local_file:for chunk in response.iter_content(chunk_size=512):local_file.write(chunk)print(