接口应在服务端调用,不可在前端(小程序、网页、APP等)直接调用。具体可参考[接口接入指南](https://www.yuque.com/shunchenghuichuang/iasgxw/lw3ftk64nq0f2gsg)。 接口英文名:UploadPic 本接口用于上传图片信息。使用Form表单形式提交这些参数 ## 1、调用方式 ### HTTPS调用 `POST /api/app/upload` ## 2、请求参数 ### 请求体 `Request Payload` | 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | version | string | 否 | 版本号,服务商可自由定义 | | reqSerialNo | string | 是 | 请求流水号(yyyyMMddHHmmssSSSXXXXX,其中 XXXXX为5位顺序号,禁止使用UUID等无意义数据) | | sign | string | 是 | 签名 | | media | File | 是 | 图片文件 | ## 3、返回参数 ### 返回体 `Response Payload` | 参数名 | 类型 | 说明 | | :--- | :--- | :--- | | respCode | string | 200是成功,其他值就是失败 | | respMsg | string | 接口返回的信息,成功返回null | | reqSerialNo | string | 接口请求流水号 | | version | string | 接口版本 | | data | object | 图片地址 | #### `data响应参数` | 参数名 | 类型 | 说明 | | :--- | :--- | :--- | | photoUrl | string | 图片地址。
图片上传成功后,该图片保存在交易中心中的地址。
注:其他相关接口需要提供图片文件地址时,直接使用该地址即可。 | ## 4、注意事项 1、content-type格式为multipart/form-data ## 5、代码示例 请求参数: ```json { "version": "1.0", "reqSerialNo": "20221013152000", "sign":"OWJmY2Q4OTQ1NDFhOTE4YzkxOWVhNTI2NGQ4MTE0ODM=", "media":File } ``` python示例: ```python import requests import hashlib import base64 import datetime import json import os ##定义流水号生成方法 def reqSerialNo(): now = datetime.datetime.now() order_id = now.strftime("%Y-%m-%d-%H-%M-%S").replace("-", "") return order_id def get_image_files(directory): """获取指定目录及其子目录中的所有图片文件""" image_extensions = {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.webp', '.ico'} image_files = [] for root, dirs, files in os.walk(directory): for file in files: ext = os.path.splitext(file)[1].lower() if ext in image_extensions: image_files.append(os.path.join(root, file)) return image_files ##服务商参数 path = r"D:\Document" ## 这里图片保存的路径 img = "picture.png" print(img) file_name=os.path.join(img) ## 这里图片的名称 request_url="http://localhost:19001/api/app/upload" ## 这里填写请求的接口地址 token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJc1BheSI6IlRydWUiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6ImQ1ZTc3MzE2LTVjNWEtNDQ3OC1iZjZhLTQ2OWU2ODNlZDMyYyIsIm5iZiI6MTc2NzA3NDUwNywiZXhwIjoxNzY3MTYwOTA3fQ.YxjyLi_f4kiluQGZBmfjteKokaPyzk1QkrrvgazErwc" file_md5 = hashlib.md5(open(file_name,'rb').read()).hexdigest() files = {'media': open(file_name,'rb'),} body = { "reqSerialNo" : "2025121316252900001", "sign" : "MDc5NDNmMTE5ZjM2OTBhNjliYjk5MGUzYjllMjNiMTI=" } headers = { "Authorization": f"Bearer {token}" } files = {'media': open(file_name,'rb'),} req = requests.post(url=request_url, data=body,files=files,headers=headers) ## 注:python的request请求在做post请求时会自动加上Content-Type: multipart/form-data;boundary=${bound},因此本处可不填写headers print(req.text) ``` 返回参数: ```json { "respCode": "200",//200是成功,其他值就是失败 "respMsg": "string", "reqSerialNo": "string", "version": "string", "data": { "photoUrl": "string" } } ```