说明:HD060设备内蒙古版本图像上传接口服务端实现
设备端配置:
代码实现服务:
import urllib
import flask, json
from flask import request
import base64
'''
flask: web框架,通过flask提供的装饰器@server.route()将普通函数转换为服务
'''
# Flask获取post提交数据
# 创建一个服务,把当前这个python文件当做一个服务
server = flask.Flask(__name__)
# server.config['JSON_AS_ASCII'] = False
# @server.route()可以将普通函数转变为服务 登录接口的路径、请求方式
@server.route('/iris/capture', methods=['post'])
def login():
if request.method == 'POST':
# 一、Flask后端获取GET请求的数据
# name = request.args.get('name')
#
# 二、Flask后端获取POST请求的数据
# get_data = json.loads(request.get_data(as_text=True))
#
# name = get_data['name']
data = json.loads(request.get_data(as_text=True))
for key, value in data.items():
if key == 'image':
print('左眼',value["left"])
print('右眼',value["right"])
print('人脸',value["face"])
f = open('./img/1.txt',mode = 'w')
# 步骤1.url解码 2.base64解码
data = urllib.parse.unquote(value["face"])
f.write(data) # write 写入
f.close()
with open("./img/1.txt", "r") as f:
imgdata = base64.b64decode(f.read())
file = open('./img/13.jpg', 'wb')
file.write(imgdata)
file.close()
return data
# def convert():
# with open("./img/1.txt", "r") as f:
# imgdata = base64.b64decode(f.read())
# file = open('2.jpg', 'wb')
# file.write(imgdata)
# file.close()
#
# f.close()
if __name__ == '__main__':
server.run(debug=True, port=8888, host='0.0.0.0') # 指定端口、host,0.0.0.0代表不管几个网卡,任何ip都可以访问