目录结构和代码

root@master ~/w/upload# ll
total 4.0K
drwxr-xr-x. 3 root root  21 Jul  2 17:32 static/
drwxr-xr-x. 2 root root  25 Jul  5 17:40 templates/
-rw-r--r--. 1 root root 819 Jul  5 09:55 upload.pyroot@master ~/workspace# tree upload/
upload/
|-- static
|   `-- uploads
|-- templates
|   `-- upload.html
`-- upload.py3 directories, 2 files

upload.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>upload:</h1><form action="" enctype='multipart/form-data' method='POST'><input type="file" name="file"><input type="submit" value="upload"></form>
</body>
</html>

upload.py

# coding:utf-8from flask import Flask, render_template, request, redirect, url_for
from flask import send_from_directory
from werkzeug.utils import secure_filename
import osapp = Flask(__name__)@app.route('/upload', methods=['POST', 'GET'])
def upload():if request.method == 'POST':f = request.files['file']basepath = os.path.dirname(__file__)upload_path = os.path.join(basepath, 'static/uploads', f.filename)f.save(upload_path)print('uploading ...')return redirect(url_for('download'))return render_template('upload.html')@app.route('/download')
def download():print('downloading ...')return send_from_directory(r"/root/", "test.sh", as_attachment=True)if __name__ == '__main__':app.run(host="0.0.0.0", debug=True)

上传和下载测试

启动服务(默认端口是 5000):

root@master ~/w/upload# python3 upload.py* Serving Flask app "upload" (lazy loading)* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: on* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)* Restarting with stat* Debugger is active!* Debugger PIN: 332-961-513

选择上传文件(如果页面打不开,可以先用 systemctl stop firewalld 命令关闭防火墙或者开放指定端口):

点击上传(上传后自动下载了测试文件 test.sh):

上传成功:

Flask 实现文件上传和下载(简单但实用)相关推荐

  1. python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单

    很多selenium学习者被浏览器弹出的文件上传.下载框折磨的痛不欲生,今天博主就带你们轻松搞定上传和下载问题. 上传 上传弹框 文件上传是所有UI自动化测试都要面对的一个头疼问题,要处理这个问题,我 ...

  2. springBoot 简单优雅是实现文件上传和下载

    前言 好久没有更新spring Boot 这个项目了.最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来.刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架 ...

  3. ASP.NET MVC实现简单的文件上传与下载

    使用ASP.NET MVC实现简单的文件上传与下载. 1.上传文件HTML <form action='@Url.Action("Upload", "File&qu ...

  4. Flask 文件上传与下载

    文件上传与下载在平时开发中很常见,所以也是很重要的一部分.下面来一起看看flask中的文件上传与下载. 相关配置 # 设置文件上传保存路径 app.config['UPLOAD_FOLDER'] = ...

  5. php从ftp下载文件到本地,php使用ftp实现文件上传与下载功能

    本文实例为大家分享了php ftp文件上传与下载的具体代码,供大家参考,具体内容如下 ftp文件上传 php自带有ftp操作的函数包,一个比较简单实现的ftp文件上传操作可以通过以下几个步骤来完成: ...

  6. WSE3.0构建Web服务安全(4):MTOM消息传输优化和文件上传、下载

    MTOM消息优化传输机制主要应用于大量数据的传输,很多文章中也直接得出结论:使用MTOM文件传输效率高.为什么MTOM的数据传输效率会比别的方式要高?MTOM真的如此完美吗,它有什么不足?什么情况下使 ...

  7. 科普|不同协议下远程服务器文件上传_下载优劣对比

    作为一个程序员,如果不知道如何进行远程服务器的文件上传与下载,实在是一件尴尬的事情.打开百度,搜索「远程服务器 上传下载」,你能得到 63,100,000 个搜搜结果,五花八门的操作方式的让人眼花缭乱 ...

  8. SpringBoot 文件上传、下载、设置大小

    本文使用SpringBoot的版本为2.0.3.RELEASE 1.上传单个文件 ①html对应的提交表单 <form action="uploadFile" method= ...

  9. 一篇文章教你学会使用SpringBoot实现文件上传和下载

    文章目录 一.搭建SpringBoot开发环境 1.创建项目 2.配置application.properties参数 3.实体响应类和异常信息类 4.创建FileController 二.接口测试 ...

最新文章

  1. pythonsvc_sklearn-SVC实现与类参数详解
  2. Machine Learning On Spark——基础数据结构(一)
  3. 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
  4. 用友政务知识管理平台_云创数字政务大数据平台,助力政务工作高效管理
  5. 刷新率调高,或高于60Hz闪屏,忽明忽暗,晃动问题
  6. C++中继承和派生详解(公有、私有、保护继承的区别)
  7. 零基础学启发式算法(3)-禁忌搜索 (Tabu Search)
  8. dataframe在最后新增一行_【TOOLS】python中对Excel进行写入操作,写入一列或者一行(openpyxl)...
  9. Github之深入解析如何在托管在不同系统的项目上使用Git客户端
  10. DEAP 框架(遗传算法)模块笔记
  11. 皮尔逊相关系数(Pearson Correlation)
  12. FPGA和USB3.0通信-UVC摄像机
  13. Hibernate手动控制事物
  14. Ubuntu1804编译QWebEngine
  15. 华云大咖说 | 安超OS全面升级 最新亮点解密
  16. 文字转图片,文字水印图片,合成图片,教你 Python 生成网站原创配图!
  17. 嵌入式Linux永久修改MAC和IP(特别适用多个网卡设计)
  18. ABAP删除字符串某字符
  19. 龙迅LT7211方案|CS5211替代LT7211设计DP to 2-port LVDS转接板方案原理图+PCB板
  20. java 蓝牙读取数据格式,单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例...

热门文章

  1. 2018-2019-2 20165212《网络对抗技术》Exp9 Web安全基础
  2. 保护模式下C语言编程,关于windows ring3保护模式与中断调用
  3. 【模型库】日本数控铣床RAPIMA,RMX-15 三位模型
  4. 有哪些好用的进销存系统值得推荐?
  5. 照片不小心删除了?用Thumbs.db来恢复吧
  6. SolidWorks非标自动化设计全过程,建议收藏
  7. fc重装机兵计算机密码,fc重装机兵(机甲战士)(MM1)最全攻略秘籍
  8. 闭环步进电机SDK开发
  9. python爬知网全文期刊数据库_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】...
  10. vue 实现PC端微信扫码登录(二维码内嵌网页版)