base64编码图像作为参数post访问远程服务
Posted SpikeKing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了base64编码图像作为参数post访问远程服务相关的知识,希望对你有一定的参考价值。
将图像转换为base64的编码,编码格式为jpg,如下:
def image_to_base64(image_np, ext='.jpg'):
"""
转换为base64, ext是编码格式,'.jpg'和'.png'都支持
"""
import cv2
import base64
# image = cv2.imencode('.png', image_np)[1]
image = cv2.imencode(ext, image_np)[1]
image_code = str(base64.b64encode(image))[2:-1] # 生成编码
return image_code
使用base64编码的图像,作为参数,post访问远程服务,如下:
def get_ocr_service_with_np(img_np):
"""
使用numpy格式的img,post访问服务,timeout的单位是秒
"""
image_encode = image_to_base64(img_np)
api = 'http://xxx.yyy.com/api'
data = dict()
data['service_name'] = "zzz"
data['image_encode'] = image_encode
data = json.dumps(data)
r = requests.post(api, data, timeout=20)
code = r.status_code
if code != 200:
return {}
res_dict = json.loads(r.text)
return res_dict
以上是关于base64编码图像作为参数post访问远程服务的主要内容,如果未能解决你的问题,请参考以下文章
AFNetworking - 向 REST 发送 HTTP POST,发送带有 Base64string 图像的 JSON
获取 Base64 编码的图像并使用 ExpressJS 作为图像发送