diff --git a/app_common/__manifest__.py b/app_common/__manifest__.py index 26aadcc2..25f45f8e 100644 --- a/app_common/__manifest__.py +++ b/app_common/__manifest__.py @@ -39,7 +39,7 @@ { 'name': "odooAi Common Util and Tools,欧度智能基础核心优化", - 'version': '16.24.03.11', + 'version': '16.24.04.07', 'author': 'odooai.cn', 'category': 'Base', 'website': 'https://www.odooai.cn', diff --git a/app_common/models/base.py b/app_common/models/base.py index 475631c5..d8f545f1 100644 --- a/app_common/models/base.py +++ b/app_common/models/base.py @@ -1,18 +1,19 @@ # -*- coding: utf-8 -*- -from odoo import models, fields, api, _ -from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT -from odoo.http import request import requests import base64 from io import BytesIO import uuid - +from PIL import Image from datetime import date, datetime, time import pytz import logging +from odoo import models, fields, api, _ +from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT +from odoo.http import request + _logger = logging.getLogger(__name__) # 常规的排除的fields @@ -188,12 +189,17 @@ def get_image_base642attachment(data): return None try: image_data = data.split(',')[1] - file_name = str(uuid.uuid4()) + '.png' - return image_data, file_name + img = Image.open(BytesIO(base64.b64decode(image_data))) + img = img.convert('RGB') + output = BytesIO() + img.save(output, format='JPEG') + file_name = str(uuid.uuid4()) + '.jpeg' + jpeg_data = output.getvalue() + jpeg_base64 = base64.b64encode(jpeg_data) + return jpeg_base64, file_name except Exception as e: return None, None - def get_ua_type(): ua = request.httprequest.headers.get('User-Agent') # 临时用 agent 处理,后续要前端中正确处理或者都从后台来 diff --git a/app_common/static/description/index.html b/app_common/static/description/index.html index 8156bc20..9601ada7 100644 --- a/app_common/static/description/index.html +++ b/app_common/static/description/index.html @@ -4,7 +4,7 @@