pip install flask-uploads

#先导入次此处需要用到的库:
from flask_uploads import UploadSet, IMAGES, configure_uploads, ALL,patch_request_class
from flask import request, Flask, redirect, url_for, render_template,abort
import os#生成 app
app = Flask(__name__)# 配置文件上传到的路径,以及限制上传文件的类型
app.config['UPLOADED_PHOTO_DEST'] = os.path.dirname(os.path.abspath(__file__))
app.config['UPLOADED_PHOTO_ALLOW'] = IMAGES# 实例化 UploadSet 对象
photos = UploadSet('PHOTO')# 将 app 的 config 配置注册到 UploadSet 实例 photos
configure_uploads(app, photos)
# 设置上传图片大小
#patch_request_class(app, 32 * 1024 * 1024)# 生成一个 upload 的路由
@app.route('/upload', methods=['POST', 'GET'])
def upload():if request.method == 'POST' and 'photo' in request.files:filename = photos.save(request.files['photo'])return redirect(url_for('show', name=filename))return render_template('upload.html')# 生成一个 show 的路由
@app.route('/photo/<name>')
def show(name):if name is None:abort(404)url = photos.url(name)return render_template('show.html', url=url, name=name)if __name__ == '__main__':app.run ()

upload.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form method=POST enctype=multipart/form-data action="{{ url_for('upload') }}"><input type=file name=photo><input type=submit>
</form></body>
</html>

show.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<img src="{{ url }}"/>
</body>
</html>

文件上传

HTML 表单中设置 enctype="multipart/form-data" 属性,已上传的文件被储存在内存或文件系统的临时位置。你可以通过请求对象 files 属性来访问上传的文件。每个上传的文件都储存在这个 字典型属性中。这个属性基本和标准 Python file 对象一样,另外多出一个用于把上传文件保存到服务器的文件系统中的 save() 方法。

from flask import request@app.route('/upload', methods=['GET', 'POST'])
def upload_file():if request.method == 'POST':f = request.files['the_file']f.save('/var/www/uploads/uploaded_file.txt')

如果想要知道文件上传之前其在客户端系统中的名称,可以使用 filename 属性。但是请牢记这个值是 可以伪造的,永远不要信任这个值。如果想要把客户端的文件名作为服务器上的文件名, 可以通过 Werkzeug 提供的 secure_filename()函数:

from flask import request
from werkzeug.utils import secure_filename@app.route('/upload', methods=['GET', 'POST'])
def upload_file():if request.method == 'POST':f = request.files['the_file']f.save('/var/www/uploads/' + secure_filename(f.filename))

转载于:https://www.cnblogs.com/Erick-L/p/7002196.html

Flask-uploads 简单使用相关推荐

  1. flask与简单的form表单

    flask与简单的form表单 文章目录 flask与简单的form表单 视频 代码 flask html 视频 https://www.bilibili.com/video/BV17W41177oE ...

  2. Flask实现简单搜索功能

    Flask实现简单搜索功能 主要功能是通过form的方式传值,再到数据库中查询.下面是数据库的内容我们这里主要是实现对content进行模糊匹配. 首先打开pycharm,构建一个最简单的flask应 ...

  3. Python Flask开发简单http api接口 示例

    相比Django,使用python中的web框架Flask可以很方便的编写简单的接口,用于调用或调试. 通过pycharm新建一个Flask项目 运行项目之后,浏览器打开输入下列网址 更多实例 GET ...

  4. Flask搭建简单图片识别服务器

    Flask搭建简单手写数字识别服务器 困惑我好几天的问题终于解决了,基础还是不太牢固啊,特写这篇文档记录一下,一步一步的开始用flask搭建分类服务器,主要分类MNIST数据集,从客户端(这里指浏览器 ...

  5. 使用Flask开发简单接口

    使用Flask开发简单接口 作为测试人员,在工作或者学习的过程中,有时会遇到没有可以调用的现成的接口,导致我们的代码没法调试跑通的情况. 这时,我们使用python中的web框架Flask就可以很方便 ...

  6. flask接口mysql开发例子,使用Flask开发简单接口3–引入MySQL

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 在前两篇文章中,我们学习了通过Flask开发GET和POST请求接口,但是尚未实现操作数据库,因此,今天的目的是学习 ...

  7. Python + Flask = 更简单的云原生应用开发

    一种全新的方式来构建云原生应用,来看看Python如何能够帮助我们做到这一点. Flask是一种轻量级的Python web框架,可以轻松地构建和部署云原生应用.它具有简单易用的API,让我们能够快速 ...

  8. python flask/ tornado简单demo

    flask代码 import os from flask import Flask,session from flask_session import Session from redis impor ...

  9. 可爱猫+python3+Flask+aiohttp简单搭建微信机器人

    之前一直在研究QQ机器人,最近发现一个微信机器人框架,在办公中来增加工作效率. 一.需要环境: 可爱猫(http://www.keaimao.com/) python3.8+ flask.aiohtt ...

  10. Flask+mysql简单问答网站(实现公网可访问)

    先到github下载仓库文件 https://github.com/QHCV/flask_mysql_blog python版本3.8,提前安装好Mysql数据库 1.安装python包 pip in ...

最新文章

  1. Github下载量10万次,最终被所有大厂封杀!
  2. php 添加日志文件,如何在PHP中创建日志文件?
  3. (转)java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
  4. 初识图机器学习(part2)--图数据
  5. opencv交通标志识别_教你从零开始做一个基于深度学习的交通标志识别系统
  6. html语义化标签_5个你可能不知道的html5语义化标签
  7. 格力市值3900亿,美的市值6300亿
  8. fatal: HttpRequestException encountered (附:网盘下载地址)
  9. GridControl 设置自带选中复选框及设置该列列头名称
  10. RANDOM模块:PYTHON获取随机数
  11. java 对文件名非法字符处理
  12. 计算机二级考试C语言
  13. Win7系统显示文件扩展名的方法
  14. 【入门级】Hibernate环境搭建
  15. 心电电路算法滤波_心电仪滤波
  16. 计算机网络课程设计,使用MFC实现界面化创建ARP发送与接受程序(一)
  17. 谷歌搜索留痕组合工具,批量生成
  18. 【正点原子Linux连载】第四十四章 设备树下的LED驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
  19. 面筋:Java实现''the sky is blue''反转输出为blue is sky the
  20. 【油猴脚本 Greasemonkey】GM_xmlhttpRequest内部实现原理

热门文章

  1. 天哪,路由器都能跑Docker了!
  2. Java 程序员如何使用 Shiro 框架
  3. 超强图文|并发编程【等待/通知机制】就是这个feel~
  4. GitHub 中文文档正式发布
  5. 进程与线程的一个简单解释
  6. 好文推荐,15 分钟教你搞懂 Git!
  7. Coggle加速计划:解决数据下载烦恼!
  8. 近期数据挖掘学习_计划安排及相关资料(定期更新)
  9. 脱口秀演员入职华为?破案了:人家还是博士后研究员
  10. 5分钟带你读「大清」微积分!160多年前清朝数学家撰写文言文版高等数学