客户端:
import requests
import base64
def base_img(img_im):
return base64.b64encode(cv2.imencode('.jpg',img_im)[1]).decode()
pic_path = r'***.png'
img_im = cv2.imread(pic_path)
base64_img = base_img(img_im)
data = {"rtpmurl":"rtmp url",
"applydate":"2020-03-20 20:26:31",
"camera_status":"statu01",
"backurl":"回传url",
"base64_img":base64_img}
url = "服务器链接路径"
headers = {'Content-Type':'application/json;charset=UTF-8'} # 头文件
res = requests.request("post",url,json=data, headers=headers) # post方法;
print(res.status_code)
print(res.text)
服务器端:
from flask import Flask, jsonify, request
import os
app = Flask('testserver')
basedir = os.path.abspath('.')
@app.route('/server_v4', methods=['POST', 'GET'])
def api_upload():
global rtmp_url_set,url_bianhao
if request.method == 'GET':
print("hello world")
return "success"
else:
print('hello world')
print(request)
rtpmurl = request.json['rtpmurl']
if rtpmurl not in rtmp_url_set.keys():
url_bianhao += 1
rtmp_url_set[rtpmurl] = "%02d" % url_bianhao
os.makedirs(os.path.join(basepath,rtmp_url_set[rtpmurl]),exist_ok=True)
# 地址
# print(rtpmurl)
backurl = request.json['backurl']
applydate = request.json['applydate']
# 申请时间
camera_status = CAMERA_STATUS_START
# 图片解压
if "base64image" in request.json:
data = request.json['base64image']
length = len(os.listdir(os.path.join(basepath,rtmp_url_set[rtpmurl])) + 1
name = rtmp_url_set[rtpmurl] + '_' + str(length) + '.jpg'
path = os.path.join(basepath, rtmp_url_set[rtpmurl],name)
fh = open(path, "wb")
fh.write(base64.b64decode(data)) # 转换为image
fh.close()
if __name__ == '__main__':
global rtmp_url_set,url_bianhao
rtmp_url_set = {}
url_bianhao = 0
app.run(debug=False, host="192.168.2.54", port=9000)
版权声明:本文为oyjwin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。