继续讨论 客户端图像优化默认启用 :
我是一家本地摄影师自托管 Discourse 实例的管理员,我们主要上传高质量媒体。我想更改编辑器中图像缩放的默认宽度,但在设置中找不到相关选项。
Ask Bot 提示我查找 composer media optimization image resize dimensions threshold,但我怀疑该设置是否已被弃用或隐藏,因为我目前只能找到 composer media optimization image enabled 这一项设置。
简单来说,我只希望使用编辑器上传的图像最大宽度被调整为 1440 像素,而不是 1920 像素,并且最好能提供一个选项,仅对图像的较长边进行缩放(例如,竖版图像应按高度而非宽度进行缩放)。
版本 2026.5.0-latest (af1090fa6f )
Lilly
(Lillian )
2026 年5 月 1 日 15:58
2
gallery3540:
图片调整尺寸阈值
这是一个隐藏设置,因此可以在 Rails 控制台中进行修改。
但我觉得需要将其添加到此处:
这是描述所有可用隐藏站点设置的#参考指南。
所需用户等级:管理员
Discourse 中的隐藏站点设置是高级配置选项,无法通过标准管理界面访问。它们提供了额外的灵活性,用于自定义您的 Discourse 实例功能。
有关修改隐藏站点设置的更多信息,请参阅:启用隐藏站点设置 。
以下是 Discourse 中所有可用隐藏站点设置的参考表。
基础设置
帮助您调整 Discourse 实例基本方面的设置:
站点设置
类型
描述
默认值
max_category_nesting
integer
设置允许的最大类别嵌套层级数。
2
enable_mobile_theme
boolean
启用特定于移动设备的主题。禁用后将在所有设备上使用响应式样式表。
TRUE
enable_upload_debug_mode
boolean
启用上传的详细日志记录,有助于调试上传问题。
FALSE
default_theme_id
integer
新用户和匿名…
修改方法如下:
cd /var/discourse
./launcher enter app
rails c
SiteSetting.composer_media_optimization_image_resize_dimensions_threshold = 1440
exit
有没有办法验证我是否配置正确?硬刷新(Ctrl+F5)似乎没有生效,所以我重新构建了应用,但也没有任何变化。图片仍然被压缩到 1920 像素。
/var/www/discourse# rails c
正在加载生产环境 (Rails 8.0.5)
discourse(prod)> SiteSetting.composer_media_optimization_image_resize_dimensions_threshold
=> 1440
Lilly
(Lillian )
2026 年5 月 1 日 16:50
7
再次在 Rails 控制台中,当你输入:SiteSetting.composer_media_optimization_image_resize_dimensions_threshold 时,它会返回什么值?
我刚刚测试了这项具体更改,它已更新。
它返回 1440
这张图片的原始分辨率为 3089x2048,以下是刚刚作为测试上传后它被调整到的尺寸。
Falco
(Falco)
2026 年5 月 1 日 17:00
9
composer_media_optimization_image_resize_dimensions_threshold 控制其触发时机。
若要将其调整至 1440 像素,请将 composer_media_optimization_image_resize_width_target 设置为该值。
嗯,不行。
我把这两个值都设为 1440,然后为了保险起见执行了 /var/discourse/launcher rebuild app,但图片仍然被缩放到 1920。
编辑:实际上,在执行重建并返回 Rails 后,这两个变量又变回未定义状态。是否有某个进程将它们覆盖回了默认值?
实际上,即使退出 Rails 再重新进入,我也会遇到以下问题:
discourse(prod)> composer_media_optimization_image_resize_dimensions_threshold
(discourse):1:in '<main>': undefined local variable or method 'composer_media_optimization_image_resize_dimensions_threshold' for main (NameError)
Falco
(Falco)
2026 年5 月 1 日 17:50
11
检查设置的方式不对,你需要在设置名称前加上 SiteSetting.。
搞定啦!不过我的分辨率比例完全搞错了,我脑子里想的是1440p,那是高度而不是宽度:stuck_out_tongue: 没想到图片现在反而比以前更小了,真是让我大吃一惊。
Falco
(Falco)
2026 年5 月 1 日 18:24
13
我们只有一个宽度切换选项,所以您指的应该是 2560 吧?
另外,我理解您关于能够操作另一个维度的需求。当初构建此功能时,为了减少过多的切换选项,我们只选择了宽度,这是一种妥协。近年来,我们的团队甚至将该设置隐藏得更深,因此很难在此处要求更多功能。
或许我们可以改为让它作用于最大边,动态选择宽度或高度?
是的,我现在把它设置为 2560 了,效果非常好。
如果能动态选择较长的一边就对我更有帮助了,因为我们的许多图片都是纵向的,如果在上传前不进行缩放,它们现在会显得不成比例地大。
感谢您的帮助!
是否有已知的方法可以绕过编辑器自动调整图像大小的功能?
我的一个用户刚刚在一个新话题中上传了 8 张图片;其中只有 3 张按预期被缩小到了 2560 像素,而其余 5 张似乎保持了原始分辨率。