# 是否可以为每个用户提供一个“头像槽位”，从而实现自动更新的头像链接？

**URL:** <https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485>\
**Category:** Support\
**Created:** [2021年十一月18日 03:17 UTC](https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485 "2021-11-18T03:17:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![orangeandblack5](https://avatars.discourse-cdn.com/v4/letter/o/edb3f5/32.png) [@orangeandblack5](https://meta.discourse.org/u/orangeandblack5)\
**Post date:** [2021年十一月18日 03:17 UTC](https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485/1 "2021-11-18T03:17:52Z")

</div>

我们正尝试为管理员和版主搭建一个“站点工作人员”页面，并希望能展示他们的个人头像。例如：

> # **codinghorror**
> 
> ![](https://global.discourse-cdn.com/meta/original/4X/0/8/2/0824f82e60c5cfd9881cf127b7060f3a06469729.png)  
> **简介：** 我存在  
> **联系方式：** 相关信息

但我们不希望每次有工作人员更换头像时都_手动_更新该页面。

我们看到了两种实现方式：每当用户上传新头像时，直接替换旧头像并保持链接不变（我们认为这更理想），或者使用某种链接重定向到用户当前头像所在的位置。

关于如何实现这一目标，大家有什么建议吗？根据我们的测试，直接复制当前头像的链接无法按预期工作。

> [@orangeandblack5](#):
>
> 此外，旧头像未被新头像覆盖而是被保留下来，从存储角度来看似乎也是不利的。如果我们能为每位用户提供一个固定链接来存储其头像，并在他们更换时直接替换该图片，那就真是一举两得了。

如上所述，如果我们能强制每位用户将新头像上传到同一位置，这将有助于节省存储空间。这样不仅可以让同一链接持续按预期工作，还能有效节省存储资源。

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [2021年十一月18日 03:28 UTC](https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485/2 "2021-11-18T03:28:06Z")

</div>

> [@orangeandblack5](#):
>
> 我们正在尝试设置一个“网站工作人员”页面，其中包含我们管理员和版主的信息，理想情况下还应包含他们所有的个人资料图片。

这基本上就是“关于”页面，不是吗？就像 [About - Discourse Meta](https://meta.discourse.org/about)

> [@orangeandblack5](#):
>
> 对于如何最好地实现这一点有什么想法吗？

在不同系统之间保持用户信息同步的_正确_方法是使用 [DiscourseConnect - Discourse 的官方单点登录 (sso)](https://meta.discourse.org/t/discourseconnect-official-single-sign-on-for-discourse-sso/13045)。但是，如果只想创建一个包含当前论坛管理员的静态页面，这可能有点过度。在这种情况下，也许可以编写一个每日/每周脚本来解析 `/about.json` 并进行更新？

---

<div class="post-metadata">

**Author:** ![orangeandblack5](https://avatars.discourse-cdn.com/v4/letter/o/edb3f5/32.png) [@orangeandblack5](https://meta.discourse.org/u/orangeandblack5)\
**Post date:** [2021年十一月18日 03:33 UTC](https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485/3 "2021-11-18T03:33:02Z")

</div>

是的，我们非常乐意让用户在实际网站上注册，所以单点登录（SSO）似乎有点大材小用。至于关于页面，它的问题在于没有地方放个人简介或外部联系信息，这极大地削弱了它成为一站式解决方案的能力。我们也设想，将所有这些添加到关于页面可能比让更新的图片在另一个页面上正常工作更困难。

脚本不是一个坏主意，尽管如果可能的话，即时响应时间显然会更好——用户能够直观地将个人资料图片与状态联系起来会很有帮助，如果页面上的图片和正在使用的图片不匹配，这可能会让新用户感到困惑。

此外，旧的个人资料图片被保存而不是被新图片覆盖的事实，无论如何似乎在存储方面是不利的。如果我们能简单地为每个用户提供一个存储其个人资料图片的链接，并在他们更改时替换该图片，这似乎是一举两得。

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [2021年十一月18日 04:01 UTC](https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485/4 "2021-11-18T04:01:53Z")

</div>

> [@orangeandblack5](#):
>
> 外部联系信息

有一个站点设置可以将外部联系方式添加到“关于”页面。

> [@orangeandblack5](#):
>
> 如果可能的话，即时响应时间显然会更好

不希望“关于”页面在您的页面渲染过程中被解析，而是在后台任务中并且仅定期进行。

这取决于您使用什么技术来构建该页面。例如，如果您使用的是 JAMstack，这在编译阶段是有意义的。如果是一个 Rails 应用程序，也许是一个每天运行并更新数据库中本地缓存的 Active Job。

> [@orangeandblack5](#):
>
> 另外，旧的个人资料图片仍然被保存而不是被新的覆盖，这似乎在存储方面是不利的。

我们称之为孤立上传，它们会在几天后通过后台任务自动清理。

---

<div class="post-metadata">

**Author:** ![orangeandblack5](https://avatars.discourse-cdn.com/v4/letter/o/edb3f5/32.png) [@orangeandblack5](https://meta.discourse.org/u/orangeandblack5)\
**Post date:** [2021年十一月18日 04:11 UTC](https://meta.discourse.org/t/is-it-possible-to-have-an-automatically-updating-link-to-a-users-profile-picture-such-as-by-giving-each-user-one-slot-for-an-avatar/209485/5 "2021-11-18T04:11:11Z")

</div>

> [@Falco](#):
>
> 我们称之为孤立上传，几天后它们会被后台任务自动清理。

直接用新的上传替换孤立的上传是否更有意义？

在我看来这似乎是双赢，但我不是网页开发者，所以可能我忽略了什么。
