format_transfer.py 1007 Bytes
Newer Older
pengxiong's avatar
pengxiong committed
1 2 3 4 5 6 7 8
# -*- encoding: utf-8 -*-
# -----------------------------------------------------------------------------
# @File Name  : format_transfer.py
# @Time       : 2021/1/6 下午7:58
# @Author     : X. Peng
# @Email      : acepengxiong@163.com
# @Software   : PyCharm
# -----------------------------------------------------------------------------
pengxiong's avatar
pengxiong committed
9
import base64
pengxiong's avatar
pengxiong committed
10 11 12 13 14 15 16 17 18 19
import decimal
import json
import numpy as np

class npEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, np.ndarray):
            return obj.tolist()
        elif isinstance(obj, decimal.Decimal):
            return obj.__str__()
pengxiong's avatar
pengxiong committed
20 21 22 23
        elif isinstance(obj, np.int64):
            return int(obj)
        elif isinstance(obj, np.float64):
            return float(obj)
pengxiong's avatar
pengxiong committed
24 25 26 27 28 29 30 31
        return json.JSONEncoder.default(self, obj)

def img_transfer(url):
    """"""
    img_content = 'data:image/png;base64,'
    with open(url, 'rb') as f:
        img_content += base64.b64encode(f.read()).decode('utf-8')
    return img_content