Flask框架实现文件下载功能(1)

部署运行你感兴趣的模型镜像

首先要把你想要提供给用户下载的文件放到代码文件夹中,比如想要下载test.xlsx这个文件。

 然后在app.py中加入这么一个路由:

from flask import Flask, Response
from flask import render_template
app = Flask(__name__)
@app.route("/download1")
def download1():
    with open('test.xlsx', 'rb') as f:
        stream = f.read()
    response = Response(stream, content_type='application/octet-stream')
    response.headers['Content-disposition'] = 'attachment; filename=test.xlsx'
#这里的filename是用户下载之后显示的文件名称,可以自己随意修改,而上边的test.xlsx是要你本地的文件,名称必须要对应。
    return response

然后运行app.py,

  访问http://127.0.0.1:5000/download1

就可以看到另存为的窗口啦

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Flask框架是一款轻量级的Web应用程序框架,具有强大的扩展性和灵活性。Flask框架提供了许多方便的工具和插件,可以轻松实现各种功能,包括文件下载功能。 要实现文件下载功能,首先需要确定要下载文件路径。在Flask框架中,可以通过使用send_from_directory函数来提供静态文件。 下面是一个简单的Flask应用程序,用于实现文件下载功能: ``` from flask import Flask, send_from_directory app = Flask(__name__) @app.route('/download/<path:filename>') def download_file(filename): try: return send_from_directory(directory='./downloads/', filename=filename, as_attachment=True) except Exception as e: return str(e) if __name__ == '__main__': app.run(debug=True) ``` 在上面的代码中,我们在应用程序中定义了一个路由`/download`。这个路由接受一个文件名,然后使用send_from_directory函数从目录`./downloads/` 中获取这个文件。同时,我们也把`as_attachment`参数设置为True,这样下载文件会作为附件而不是直接在浏览器中打开。 接下来,您需要创造一个名为download的文件夹,并将要下载文件放在其中。然后运行您的应用程序,并在浏览器中访问`http://localhost:5000/download/your_file_name`即可开始下载文件。 在实现文件下载功能时,还需注意一些安全问题。例如,需要确保用户只能下载已经授权的文件,并防止用户通过文件名或路径暴力猜解访问下载其他文件。所以,在实现下载功能时,还需要了解一些安全性方面的知识和技巧。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值