首页 > 编程语言 >python flask下载功能

python flask下载功能

时间:2023-11-30 15:22:28浏览次数:32  
标签:web python py flask https download main 下载

前言

flask 下载功能


一、约定

要下载文件绝对路径:/tmp/flask_web/download/test.tar.gz
py主程序:/tmp/flask_web/main.py


二、main.py 内容

@app.route("/down/<path:filename>", methods=['GET', 'POST'])
def download_file(filename):
    try:
        # 需要知道2个参数, 第1个参数是本地目录的path, 第2个参数是文件名(带扩展名)
        directory = os.getcwd()  # 假设在当前目录
        return send_from_directory(directory, filename, as_attachment=True)
    except:
        return '<h1>该文件不存在或无法下载</h1>'

if __name__ == '__main__':
    app.run(host='0.0.0.0',port = 5000)

filename:需要发送的文件路径或者二进制文件对象
mimetype:文件的MIME类型,如果没有设置,会尝试根据文件名进行检测
as_attachment:布尔类型(默认False),为True表示下载保存文件,为False表示前端显示


三、运行 python 自带web服务,cesium

python3 main.py runserver 0.0.0.0:5000
或
python3 main.py runserver 192.168.1.11:5000

四、访问

http://192.168.1.1:5000/down/download/test.tar.gz

down 是绑定的路由
directory 获取到 main.py 所在路径 /tmp/flask_web
download 是你文件存放的路径,/tmp/flask_web/下的 download 文件夹



免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://blog.csdn.net/qq_44198436/article/details/106922355
https://blog.csdn.net/qq_42482078/article/details/131514743
https://blog.csdn.net/qq_45984664/article/details/128648899
https://blog.csdn.net/qq_40205116/article/details/110247395
https://geek-docs.com/flask/flask-questions/80_flask_flask_download_a_file.html
https://www.cnblogs.com/yuanfang0903/p/11446684.html
https://zhuanlan.zhihu.com/p/52198748 (显示文件夹下的文件列表)
https://www.cnblogs.com/kaerxifa/p/11780941.html



标签:web,python,py,flask,https,download,main,下载
From: https://www.cnblogs.com/wutou/p/17867371.html

相关文章

  • Rust std fs 比 Python 慢!真的吗!?
    作者:XuanwoDatabendLabs成员,数据库研发工程师https://github.com/xuanwo我即将分享一个冗长的故事,从OpenDAL的op.read()开始,以一个意想不到的转折结束。这个过程对我来说非常有启发性,我希望你也能感受到。我会尽力重现这个经历,并附上我一路学到的教训。让我们开始吧!......
  • python图像中如何 绘制矩形,编辑文案,保存结果图片等操作
    python版opencv函数学习笔记-cv.rectangle()全参数理解cv2.rectangle(img,pt1,pt2,color,thickness=None,lineType=None,shift=None)以下来自官方文档和自己的理解img:指定一张图片,在这张图片的基础上进行绘制;pt1:矩形的一个顶点;pt2:与pt1在对角线上相对的矩形的顶点;......
  • 【5.0】Python面向对象之组合
    【一】什么是组合在一个类中以另外一个类的对象作为数据属性,称为类的组合。【二】组合的使用组合与继承都是用来解决代码的重用性问题。不同的是:继承是一种“是”的关系,比如老师是人、学生是人,当类之间有很多相同的之处,应该使用继承;而组合则是一种“有”的关系,比如老......
  • 【8.0】Python面向对象之反射
    【一】反射【1】什么是反射反射是一种程序可以访问、检测和修改其本身状态或行为的能力。在Python中,反射主要指通过字符串的形式操作对象的属性。【2】Python中的反射通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)【二】反射方法......
  • 【7.0】Python面向对象之绑定方法与非绑定方法
    【一】绑定方法与非绑定方法介绍【1】绑定方法绑定给谁,谁来调用就自动将它本身当作第一个参数传入(1)绑定到类的方法用classmethod装饰器装饰的方法。为类量身定制类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)(2)绑定......
  • 【补】Python中关于OOP的常用术语
    【一】抽象与实现【1】抽象抽象是一种概念或思维工具,用于简化复杂的问题并将其分解为易于管理的部分。抽象可以帮助我们理解事物的本质和行为,同时也可以帮助我们在设计软件时更好地组织代码和数据结构。【2】实现实现则是对抽象的一种具体表达。它是对抽象的概念或模型进......
  • 阿里巴巴普惠体 2.0; 阿里巴巴普惠体 3.0 Alibaba-PuHuiTi-B 下载地址
    阿里巴巴普惠体3.0阿里巴巴普惠体是一套全球永久免费正版商用的字体家族。阿里巴巴普惠体3.0为一套符合新国家标准GB18030-2022的简体中文字符集,包含GB18030-2022强制规范三个实现级别:实现级别1+实现级别2标准规格的7字重、实现级别3标准规格的Regular单一字重。7字重共194,460个全......
  • [python] 基于Tablib库处理表格数据
    Tablib是一个用于处理电子表格(如Excel,CSV,JSON)的Python库。它提供了一种简单而强大的方式来操作和处理数据。利用Tablib,我们可以轻松地读取、写入、过滤和转换各种类型的电子表格数据。Tablib具有一致且易于使用的API,以在不同的数据格式之间进行无缝转换。比如,Tablib可以将数据......
  • Python爬取某电商平台商品数据及评论!
    前言随着互联网的发展,电商平台的出现让我们的消费更加便利,消费者可以在家里轻松地购买到各种商品。但有时候我们需要大量的商品数据进行分析,或者需要了解其他消费者的评价,这时候我们可以通过爬虫来获取数据。本文将介绍如何使用Python爬取某电商平台的商品数据及评论,并且用到代理ip......
  • Python学习之十二_tkinter的学习与使用
    Python学习之十二_tkinter的学习与使用摘要本来想说会用QT5进行界面编程但是发现比较繁琐还是先学习使用tkinter的方式进行界面化的编写和学习了基础知识tkinter是一个源码开放的图形用户接口开发工具,具备跨平台的特性Python默认的GUI开发模块是tkinter(在Python3以前的版本中......