# 在聊天中上传图片，使用 s3 CDN 时无法正常显示

**URL:** <https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540>\
**Category:** Bug\
**Tags:** chat, fixed\
**Created:** [2025年五月10日 00:03 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540 "2025-05-10T00:03:37Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![cuo\_wu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cuo_wu/32/498442_2.png) [@cuo\_wu](https://meta.discourse.org/u/cuo_wu)\
**Post date:** [2025年五月10日 00:03 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/1 "2025-05-10T00:03:38Z")

</div>

聊天中用户上传的图片无法正常显示。

 ![一个名为“吹水”的微信聊天群正在讨论邮件管理，其中一名成员提到收件箱已满，另一名成员发送了一个附件来设置它。(由 AI 生成标题)](https://global.discourse-cdn.com/meta/original/4X/9/c/f/9cf061af70274ca02264c1cd5a4c933257203e0d.png)

但是当我点击它时，它可以正确显示。

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/e/d/1eda52b75495f4aef886f5896f5f74f324536beb.jpeg)

我检查了 HTML，发现无法正常显示时，URL 是 S3 URL。

 ![image](https://global.discourse-cdn.com/meta/original/4X/a/e/3/ae37d2de80b8141ee372f9055952d4dda0526d33.png)

看起来 src URL 不正确。谢谢。

---

<div class="post-metadata">

**Author:** ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)\
**Post date:** [2025年五月13日 22:23 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/2 "2025-05-13T22:23:35Z")

</div>

您是否能够加载 `src` URL？您的上传图片似乎已损坏，因为对象在您的存储桶中不存在。我无法在此处重现此问题。

---

<div class="post-metadata">

**Author:** ![w.h](https://avatars.discourse-cdn.com/v4/letter/w/f17d59/32.png) [@w.h](https://meta.discourse.org/u/w.h)\
**Post date:** [2025年五月14日 02:35 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/4 "2025-05-14T02:35:52Z")

</div>

我遇到了同样的问题，试图设置一个私有的 S3 存储桶，并使用 CDN 进行公共访问。

据我所知，正如其他人提到的，API 返回的缩略图 URL 似乎是 **S3** URL，而上传 URL 是 **CDN** URL。由于我没有公开 S3，缩略图获取失败，但如果我打开原始图片，它可以通过 CDN 获取。

虽然我知道私有 S3 可能不受官方支持，但能否也让缩略图使用 CDN？  
也许可以通过 `S3_USE_CDN_URL_FOR_ALL_UPLOADS` 设置来控制。

我也尝试关闭 `CREATE_THUMBNAILS` 设置，但似乎不适用于聊天上传。

---

<div class="post-metadata">

**Author:** ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)\
**Post date:** [2025年五月14日 04:47 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/5 "2025-05-14T04:47:09Z")

</div>

> [@w.h](#):
>
> API 返回的上传缩略图 URL 似乎是 **S3** URL，而上传 URL 是 **CDN** URL。

我们确实没有使用 CDN URL，这很奇怪。@martin / @renato 我已将此标记为 #member-experience 和 #pri-medium，供相关人员调查。

---

<div class="post-metadata">

**Author:** ![harsh\_deep](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/harsh_deep/32/506596_2.png) [@harsh\_deep](https://meta.discourse.org/u/harsh_deep)\
**Post date:** [2025年六月9日 13:03 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/8 "2025-06-09T13:03:52Z")

</div>

尊敬的团队：

我的聊天中的图片预览无法正常工作。  
当我点击聊天中的图片时，它会加载正确的图片。但是当我在聊天中时，它显示的却是损坏的预览。我发现预览的 URL 类似于 .com.cn 而不是实际的 URL .com，为什么会自动添加 .cn 呢？  
我正在使用 S3。

请帮忙。

---

<div class="post-metadata">

**Author:** ![Chan\_Patrick](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chan_patrick/32/264297_2.png) [@Chan\_Patrick](https://meta.discourse.org/u/Chan_Patrick)\
**Post date:** [2025年六月12日 02:59 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/10 "2025-06-12T02:59:05Z")

</div>

吹水所以上傳不到照片

---

<div class="post-metadata">

**Author:** ![RoldanLT](https://avatars.discourse-cdn.com/v4/letter/r/da6949/32.png) [@RoldanLT](https://meta.discourse.org/u/RoldanLT)\
**Post date:** [2025年七月9日 19:20 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/12 "2025-07-09T19:20:49Z")

</div>

在使用 Cloudflare R2 时仍然存在问题。这似乎是聊天插件的一个 bug。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2025年八月25日 05:53 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/15 "2025-08-25T05:53:00Z")

</div>

@renato @martin 我让 codex 为我写了这个……我猜它在注释方面有点过了……但我觉得我们在聊天中喜欢这些？

总之：

> <https://github.com/discourse/discourse/pull/34507>

应该能解决问题？

---

<div class="post-metadata">

**Author:** ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)\
**Post date:** [2025年八月25日 06:19 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/16 "2025-08-25T06:19:10Z")

</div>

看起来不错，但带有类型的注释似乎只在 prosemirror 代码中使用。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2025年八月25日 06:22 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/17 "2025-08-25T06:22:40Z")

</div>

没问题，我删除了注释，我对代码不太熟悉，所以我在检查。

我们需要让本地测试 s3 变得容易得多（通过 minio 模拟 cdn 和模拟 s3）。

---

<div class="post-metadata">

**Author:** ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)\
**Post date:** [2025年九月24日 14:45 UTC](https://meta.discourse.org/t/upload-images-in-chat-cant-be-show-normally-when-use-s3-cdn/365540/23 "2025-09-24T14:45:44Z")

</div>


