本文档详细介绍了如何通过 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 的用户:
000012345dir1:000dir2:01dir3:23uid_sub:4545_avatar_middle.jpg/uc_server/data/avatar/000/01/23/45_avatar_middle.jpg
如有任何疑问或建议,请联系网站管理员。