图片预览显示不全

其中一个论坛似乎出现了这种情况,而另一个论坛没有,原因不明,尽管两者都接近相同版本的 Discourse。

自最近一次更新以来,当图片嵌入帖子中时,灯箱缩略图会截断图片的侧边。这使得阅读带有文字的图片变得非常困难。

在我看来,这似乎不是期望的行为,事实上,它在这里的 Meta 上并没有发生。

完整图片

你好 @FroggyC :slight_smile:

那很可能是因为他们的文件设置,例如:

  • 最大图片宽度:帖子中图片的最小缩略图宽度。宽度更大的图片将被调整大小并添加灯箱效果。

  • 最大图片高度:帖子中图片的最小缩略图高度。高度更大的图片将被调整大小并添加灯箱效果。

  • 最小裁剪比例:用于裁剪高瘦图片的比例。输入宽度 / 高度的结果。


我可能读得有点快。

更新前图片是否正确显示?

如果右键单击 → 在新标签页中打开图片,图片是否完整显示?

在设置 → 文件中,哪些设置不是默认值?

2 个赞

所有这些设置都处于默认状态。

打开图像时不会裁剪。


我已尝试在新的实例上恢复站点备份,但这也没有解决问题。所以这显然是一个配置问题,尽管我真的不知道是什么问题。

有人有解决办法吗?我对此问题已束手无策。

尝试以安全模式访问该网站,看看是否有区别。

如果图片在公开帖子中,请在此处分享链接。也许有人能弄清楚发生了什么。

2 个赞

你好 :waving_hand:

我检查了网站,似乎没有自定义 CSS 或其他影响缩略图的自定义设置。

这应该是一个网站设置配置错误,例如:

但是你说过:

顺便问一下,你的 最小裁剪比例 设置的默认值是多少?


也许是 CDN 配置错误?如果你使用基于云的图片调整器来优化图片(缩略图)。这不太可能,但也有可能是原因。


另一个可能的原因是某个插件可以处理缩略图。正如 Simon 所建议的,你也可以尝试在安全模式下上传新图片来检查这是否由插件引起。(但正如我所见,你没有使用这样的插件。)如果我错了,并且你使用了任何此类插件,有时禁用管理员中的插件是不够的,在这种情况下,你必须从 app.yml 中注释掉(删除)它然后重试……

但请注意:这些缩略图是以这些尺寸烘焙并在帖子中裁剪的。因此,如果你更改任何内容,它不会影响现有的缩略图,直到你重新烘焙帖子或手动调整它们的大小,以便系统识别它们为新文件并为它们生成新缩略图。对于新上传,这些更改应该在重新加载页面后显示更改后的结果。

3 个赞

在安全模式下访问了该网站,但问题仍然存在。

我也尝试在另一台装有 Discourse 的服务器上恢复该网站,使用相同的 app.yml,然后重新烘焙帖子,只是为了测试是否会有任何变化,结果没有。

0.22,这与我管理的另一个没有此问题的论坛完全相同。

我的 CDN 只是 Amazon AWS 的基本 CDN,并且与另一个没有此问题的网站设置相同。

不幸的是,我没有使用任何会与之交互的插件。也许是 discourse-topic-previews-sidecar

1 个赞

我已经检查了我的 AWS S3 存储桶,似乎是优化后的图片版本被裁剪了。所以这是图片上传过程中出现的某种错误。

你可以试试:

  1. 轻微编辑原始图片(这样 Discourse 就不会将其识别为现有图片,尽管我不确定如果你从剪贴板粘贴它是否是)。
  2. 进入安全模式,禁用所有功能。
  3. 创建一个帖子。
  4. 粘贴/上传图片。
  5. 查看预览或结果是否被裁剪?

:thinking:

这种情况就像大家都在努力找出问题所在,最后却发现“显而易见”一样,对吧?

season 3 facepalm GIF

1 个赞

在我发布上次更新时,我看到你在写作。鉴于我在 AWS 存储桶上的发现,这些步骤还有用吗?

是的,在安全模式下重新上传图像(我截了一张图,所以略有不同)可以解决问题。

这是否意味着问题是由插件引起的?

2 个赞

我认为 sidecar 插件有一些实验性功能。

您可以关闭这些设置吗?

2 个赞

不是那个设置,而是我启用了它下面的那个设置。

禁用它似乎解决了问题(至少对于新图片而言)。

现在有没有办法重建所有优化版本以解决整个网站的问题?

我看到有一个 uploads:regenerate_missing_optimized 的 rake 任务,但据我所知,它只会重新生成缺失的优化版本。

1 个赞
cd /var/discourse
./launcher enter app
rake posts:rebake
1 个赞

我以为它只是从 markdown 重新烘焙了帖子 HTML。无论如何,我会尝试一下。

但是我认为它应该重新生成,因为您的设置已更改。

烘焙帖子未能重新生成优化版本,很遗憾。

我很想把 optimized/ 文件夹移到我的存储桶中,然后运行 rake uploads:regenerate_missing_optimized。看看会不会把所有东西都搞砸。

编辑:啊,但那个任务只适用于内部存储。不适用于 S3。

最终,有问题的图片数量很少,我最终手动重新上传了所有图片。所以,问题解决了,尽管不是最高效的方式。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.