重构image_upload.py
This commit is contained in:
parent
a4cce52bf1
commit
68b4357670
@ -8,6 +8,7 @@ import logging
|
||||
import os
|
||||
from jingrow.model.page import Page
|
||||
from jingrow.config import Config
|
||||
from jingrow.utils.jingrow_api import upload_file_to_jingrow
|
||||
|
||||
_local = {}
|
||||
|
||||
@ -117,6 +118,29 @@ def get_field_value_from_jingrow(pagetype: str, name: str, fieldname: str):
|
||||
return Page(pagetype).get_field_value_from_jingrow(name, fieldname)
|
||||
|
||||
|
||||
def upload_file(file_data: bytes, filename: str, attached_to_pagetype: Optional[str] = None, attached_to_name: Optional[str] = None, attached_to_field: Optional[str] = None):
|
||||
"""
|
||||
上传文件到Jingrow服务器
|
||||
|
||||
Args:
|
||||
file_data (bytes): 文件二进制数据
|
||||
filename (str): 文件名
|
||||
attached_to_pagetype (str, optional): 关联的页面类型
|
||||
attached_to_name (str, optional): 关联的记录名称
|
||||
attached_to_field (str, optional): 关联的字段名称
|
||||
|
||||
Returns:
|
||||
dict: 上传结果
|
||||
{
|
||||
'success': bool,
|
||||
'file_url': str, # 成功时返回文件URL
|
||||
'file_name': str, # 成功时返回文件名
|
||||
'error': str # 失败时返回错误信息
|
||||
}
|
||||
"""
|
||||
return upload_file_to_jingrow(file_data, filename, attached_to_pagetype, attached_to_name, attached_to_field)
|
||||
|
||||
|
||||
def map_fields_by_labels(field_map: list, ai_outputs: dict, label_to_fieldname: dict) -> dict:
|
||||
"""
|
||||
根据 field_map 将 ai_outputs 映射为记录字段数据。
|
||||
|
||||
@ -3,7 +3,7 @@ import uuid
|
||||
import base64
|
||||
import requests
|
||||
from jingrow.config import Config
|
||||
from jingrow.utils.jingrow_api import upload_file_to_jingrow, get_field_mapping_from_jingrow, get_field_value_from_jingrow
|
||||
import jingrow
|
||||
from jingrow.utils.auth import get_jingrow_api_headers
|
||||
|
||||
def log_info(message):
|
||||
@ -204,7 +204,7 @@ def execute(context=None, inputs=None, config=None, **kwargs):
|
||||
|
||||
if save_field:
|
||||
# 获取字段映射(label到fieldname)
|
||||
label2field = get_field_mapping_from_jingrow(attached_to_pagetype)
|
||||
label2field = jingrow.get_field_mapping_from_jingrow(attached_to_pagetype)
|
||||
|
||||
# 确定目标字段名
|
||||
target_field = save_field
|
||||
@ -216,7 +216,7 @@ def execute(context=None, inputs=None, config=None, **kwargs):
|
||||
|
||||
# 检查字段值是否为空
|
||||
if target_field:
|
||||
current_field_value = get_field_value_from_jingrow(
|
||||
current_field_value = jingrow.get_field_value_from_jingrow(
|
||||
attached_to_pagetype,
|
||||
attached_to_name,
|
||||
target_field
|
||||
@ -227,7 +227,7 @@ def execute(context=None, inputs=None, config=None, **kwargs):
|
||||
else:
|
||||
pass
|
||||
|
||||
upload_result = upload_file_to_jingrow(
|
||||
upload_result = jingrow.upload_file(
|
||||
file_data=raw_image_data,
|
||||
filename=filename,
|
||||
attached_to_pagetype=attached_to_pagetype,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user