本文档详细介绍了如何通过 API 接口获取 Discuz! 用户的头像,方便在其他系统或应用中集成用户头像显示功能。
API 请求地址:
https://www.zitbbs.com/get_avatar.php?uid=用户UID&size=头像尺寸
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
uid |
是 | 整数 | 用户的 UID(用户 ID) |
size |
否 | 字符串 | 头像尺寸,可选值:big 、middle 、small ,默认值为 middle |
直接返回用户头像的图片数据,内容类型为 image/jpeg
。如果用户未设置头像或出现错误,则返回默认头像。
https://www.zitbbs.com/get_avatar.php?uid=12345
https://www.zitbbs.com/get_avatar.php?uid=67890&size=big
可以在 HTML 中使用 <img>
标签直接引用:
<img src="https://www.zitbbs.com/get_avatar.php?uid=12345&size=small" alt="用户头像">
uid
为有效的用户 ID,size
参数仅支持指定的三个值。可能是因为浏览器缓存了旧的头像。可以在请求地址后添加随机参数以避免缓存:
https://www.zitbbs.com/get_avatar.php?uid=12345&size=big&_t=时间戳
当用户未设置头像时,API 会自动返回默认头像,无需额外处理。
API 的内部实现主要根据用户 UID 计算头像的存储路径,然后返回对应的头像文件。
12345
,格式化后为 000012345
。dir1
:取前 3 位,例如 000
。dir2
:取第 4-5 位,例如 01
。dir3
:取第 6-7 位,例如 23
。45
,文件名格式为 45_avatar_middle.jpg
。/uc_server/data/avatar/{dir1}/{dir2}/{dir3}/{uid_sub}_avatar_{size}.jpg
对于 UID 为 12345
的用户:
000012345
dir1
:000
dir2
:01
dir3
:23
uid_sub
:45
45_avatar_middle.jpg
/uc_server/data/avatar/000/01/23/45_avatar_middle.jpg
如有任何疑问或建议,请联系网站管理员。