网站首页 > 技术文章 正文
假设您希望您的 Python Flask 应用程序:
- 允许用户上传图片
- 将图像传递到后端
- 处理图像(保存/转换/等)
这是一些允许您执行此操作的简约代码。
文件结构(仅 2 个文件)
让我们让事情尽可能简单。
templates/index.html
app.py
使用 Pip 安装所需的库
pip install flask Pillow numpy
注意:将其键入命令提示符或终端。
app.py 中的代码
from flask import Flask, render_template, request
from PIL import Image
import numpy as np
app = Flask(__name__)
# 当我们以 flask 形式提交内容时,我们使用 POST
# GET 在我们访问 localhost:5000 时发生
# POST 在我们点击时发生'upload'
@app.route('/', methods=['GET', 'POST'])
def home():
# 当我们访问 localhost:5000 发生
if request.method == 'GET':
return render_template('index.html', msg='')
# 当我们上传图片并点击“上传”时
image = request.files['file'] # 获取原始图像文件
img = Image.open(image) # 使用 PIL 处理原始图像
img = np.array(img) # 转换为 numpy 数组
# 替换这里的代码,你想对图像做的任何事情
print(img)
print(img.shape)
return render_template('index.html', msg='Your image has been uploaded')
if __name__ == '__main__':
app.run()
templates/index.html 中的代码
<h3>Upload an image</h3>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file">
<br/>
<input type="submit" value="Upload">
</form>
<h4 style="color:red">{{ msg }}</h4>
会发生什么
如果我们访问 http://localhost:5000,我们应该看到如下内容:
让我们点击“选择文件”并上传一张图片。我们应该看到:
在我们的后端,我们上传的图像被打印出来。
结论
希望这对您有所帮助!
猜你喜欢
- 2024-10-15 Python Flask Web表单(flask form表单)
- 2024-10-15 如何在Flask应用程序中使用JSON Web Tokens进行安全认证
- 2024-10-15 综合指南:将 Flask 与 MongoDB 结合使用
- 2024-10-15 python-flask搭建平台,HTML+CSS+JS写前端的web全栈-动画轮播
- 2024-10-15 Flask 表单处理(flask formdata)
- 2024-10-15 三、flask博客项目实战-之表单(flask 表单)
- 2024-10-15 flask python web开发的简单易学框架
- 2024-10-15 Flask-APScheduler使用教程(flask apscheduler)
- 2024-10-15 flask 项目中使用 bootstrapFileInput(进阶篇)
- 2024-10-15 基于flask框架展示数据可视化的一次尝试
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)