Skip to content

图片上传 ​

官方文档:https://www.yhchat.com/document/400-452

请求URL ​

https://chat-go.jwzhd.com/open-apis/v1/image/upload?token=016ec8e4d17a4fbda3ccb0e99b44aca0

请求类型 ​

POST

请求头 ​

bash
Content-Type: "multipart/form-data"

请求参数 ​

字段类型是否必填说明
imagefile是图片内容,仅限单个图片,上传图片大小不超过 10MB

响应内容 ​

字段类型说明
codeint响应代码
msgstring响应信息,包括异常信息
dataObject返回数据

完整示例 ​

bash
curl --location 'https://chat-go.jwzhd.com/open-apis/v1/image/upload?token=016ec8e4d17a4fbda3ccb0e99b44aca0' \
--header 'Content-Type: multipart/form-data' \
--form 'image=@"/D:/Pictures/素材图片/7.jpg"'

图片上传响应示例 ​

json
{
  "code": 1,
  "data": {
    "imageKey": "FkaP4yunD3qbwZG2YEQQtwWog7ai"
  },
  "msg": "success"
}

注意事项 ​

上传图片时,必须带有文件后缀名。 请根据 MIME 类型确定相应的扩展名。

即:注意上传网络图片的时候,如果 URL 里不带后缀名,需要处理后缀名后再上传。

特别注意 ​

当文件被上传之后,云湖会进行一次文件后缀名处理。

WARNING

特殊地

当 MIME 类型为 image/jpeg 时,文件扩展名应为 .jpg,不要使用 .jpeg。

例如上传的文件信息为

text
文件名: c91bb351c5fc283dfd9c95d0ec5d6c88.jpg [5/5]
图片大小: 152.0KB
修改日期: 2025/11/15 22:32:31
图片信息: 1024x1024 (Jpeg,YUV420)

即:上传一张 .jpeg 图片文件,会被云湖存储后将后缀名改为 .jpg

比对文件 URL:

  • https://chat-img.jwznb.com/c91bb351c5fc283dfd9c95d0ec5d6c88.jpg
  • https://chat-img.jwznb.com/c91bb351c5fc283dfd9c95d0ec5d6c88.jpeg

如果访问上述的 .jpeg 文件,会得到返回

json
{
  "error": "Document not found"
}

代表 文件不存在。

如何获取访问地址 ​

上传成功后返回的 imageKey 不是最终访问地址,不能直接拿来拼接图片 URL。imageKey 只是上传成功后的返回值,真正的访问地址需要根据图片内容重新计算哈希。

图片访问地址的生成规则如下:

https://chat-img.jwznb.com/{imageHash}.jpg

其中 imageHash 是对图片文件内容计算得到的哈希值,不是接口返回的 imageKey。

例如,上文我们上传的是 D:/Pictures/素材图片/7.jpg,那么在代码里会先读取这个文件内容,再对文件内容做哈希计算,得到:

c91bb351c5fc283dfd9c95d0ec5d6c88

然后把这个哈希值拼接到云湖图片资源地址后面:

https://chat-img.jwznb.com/c91bb351c5fc283dfd9c95d0ec5d6c88.jpg

具体代码参考: