本文共 1933 字,大约阅读时间需要 6 分钟。
客户端:
import requestsimport base64def 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, requestimport osapp = 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)
转载地址:http://iuagj.baihongyu.com/