Python创建HTTP服务器接收文件上传
项目地址:
服务器:https://gitee.com/premeditate/HF21029OCR.git
客户端:https://gitee.com/premeditate/HF21029AR-OCR.git
背景
服务器:Python
客户端:AndroidPython编写服务器程序,客户端上传图像到服务器中,Python通过OCR模块识别图像中的文字,并将结果返回到客户端。
使用flask 模块创建HTTP服务器
from flask import Flask
from flask import request
from matplotlib import pyplot as plt
from org.venus.ocr.src.util import ipUtils
app = Flask(__name__)
#指定接口的访问路径和请求方式
@app.route('/ocr', methods=['POST'])
def handle():
#如果是get请求,request.args可以获取到请求的参数,通过get("key")函数获取到参数值
#args = request.args.get("key")
#如果是post请求,request.form可以获取到请求的参数,通过get("key")函数获取到参数值
#form = request.form.get("key")
#request.files可以获取到请求中上传的文件,结果是一个列表
files = request.files
for fileName in files:
#request.files.get("key"),可以根据参数名称获取到指定的文件,这里拿到的是文件的流数据
file = request.files.get(fileName)
#笔者这里上传的是一个图片,使用plt.imread()函数,可以直接将流数据转换为一个图片对象
img = plt.imread(file)
#后续可以对你的文件进行处理,比如保存等.笔者这里是对图像进行OCR识别
#...
return "result"
serverIp = "172.20.10.3"
serverPort = 8091
def run():
#获取本机的IP地址
ip = ipUtils.getIp()
#启动HTTP服务器
app.run(host=ip, port=serverPort, debug=False)