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 作为图像发送

base64编码问题

奇怪的 Base64 编码/解码问题

AngularJS:用于将动态 base64 编码图像作为背景图像的 ng-class

MySQL - Base64 vs BLOB