Richie
(Richie Rich)
1
正在运行 Discourse 3.1.0.beta3 (7c6a8f1c74)
我们发现 Onebox 在处理 PNG / JPG 图片时出现了一些非常奇怪的行为。
这是一张我想使用 onebox 的图片:https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png
它应该像这样嵌入:
但相反,图片只是在帖子中显示为一个链接。
浏览器控制台显示 404:
其他一些例子:
小 PNG:
https://dronescene.co.uk/images/uploads/fullsize/20211106095005_vlcsnap_2021_05_04_17h10m24s149.png
大 JPG:
https://dronescene.co.uk/images/uploads/fullsize/20230227161106_DJI_0087_1.jpg
大 PNG:
https://dronescene.co.uk/images/uploads/fullsize/20220103215207_IMG_5782.png
Richie
(Richie Rich)
2
Richie
(Richie Rich)
4
我最初认为这个 bug 可能是由于文件大小引起的,我们的会员经常发布 40MB 以上的图片,但我可以使用一张 5MB 的 png 图片在 try.discourse.org 上复现此问题。
图片在撰写帖子时会出现在编辑器窗口中,但在提交帖子后却不会出现在帖子本身中。
如果我随后编辑帖子,它也会出现在编辑器窗口中:
这里有一个可以尝试的 onebox 网址图片:
https://dronescene.co.uk/images/uploads/fullsize/20230329003455_Screenshot_2023_03_29_at_00.23.31.png
为了在这里的 meta 上进行测试,它应该会出现在这里:
Richie
(Richie Rich)
5
此 bug 在 try 和 meta 上都存在。
当我提交该帖子时,图片确实短暂出现过,但几秒钟后又消失了。我应该录屏的。它是在烘焙过程中丢失/损坏了吗? 
Richie
(Richie Rich)
11
我进一步研究了这个 bug。
如果我查看一个图片未能被 onebox / 下载本地副本的帖子,当我编辑帖子时,我会在浏览器控制台中看到这个 404 Not Found 错误:
它试图获取的 URL 是:
https://greyarro.ws/onebox?url=https%3A%2F%2Fdronescene.co.uk%2Fimages%2Fuploads%2Ffullsize%2F20230411071449_8719D92D_726A_46BF_9437_A06DD0507D77.jpeg\u0026refresh=true\u0026category_id=17\u0026topic_id=61425
不确定为什么会抛出 404,明明图片是存在的 
https://dronescene.co.uk/images/uploads/fullsize/20230411071449_8719D92D_726A_46BF_9437_A06DD0507D77.jpeg
这在过去五年里一直运行正常,只是在最近三四周才出现问题。
1 个赞
我今天又试了一遍,但恐怕还是没弄明白是怎么回事。
当我尝试添加 https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png 时,它会显示在预览中,然后在帖子中显示一秒钟,之后就变为空白了。
我没有看到任何 404 错误。我曾以为是大小问题,因为它在预览中像 90 年代那样逐行加载
但你说你尝试了一个较小的文件,结果也一样。是哪个文件?我也试试那个。
1 个赞
Richie
(Richie Rich)
13
我相信它是被移除了,因为文件太大了。默认情况下,max image size kb 是 4096kb,而这个特定的文件大于 5000kb。
据我理解,如果你上传一张图片,它会在发送前自动调整大小/压缩。你可以上传大照片,因为有 客户端浏览器优化。
通过 download remote images to local 设置,Discourse 会尝试按原样下载图片,如果图片太大,它将被从帖子内容中移除。
3 个赞
Richie
(Richie Rich)
16
您好 @Arkshine
这个默认值在过去几个月里有改变吗?
我们有超过 1000 张 30-40mb 或更大的图片,多年来一直正常地远程抓取,没有出现任何问题 
Richie
(Richie Rich)
17
抱歉 @Arkshine 我今天早上又看了一遍,因为我可能误解了你之前的信息。
我们多年前就更改了设置,允许上传高达 100MB 的图片。
我一直在追踪这个问题到底是什么时候出现的,我只能缩小到大约在 2023 年 3 月 3 日之后。
这是一张 35MB 的图片,在 2023 年 3 月 3 日时是可以正常上传的:
https://dronescene.co.uk/images/uploads/fullsize/20230303120013_DJI_0013.jpg
以及一张来自 3 月份同一天的 27.3MB 的示例:
https://dronescene.co.uk/images/uploads/fullsize/20230303120713_DJI_0055.jpg
以及一张 2 月 27 日的 11MB 示例:
我可能会花些时间浏览过去六周左右的提交记录,看看是否有任何提交信息能引起我的注意 
1 个赞
您论坛上此特定帖子(以及下面的帖子)的原始内容显示它是一张已上传的图片,而不是外部链接。由于 https://meta.discourse.org/t/client-side-image-optimization-enabled-by-default/197617,您将能够上传大图片。
您最初的问题是关于插入外部图片链接。
话虽如此,我不确定 Discourse 在粘贴图片链接时不检查图片大小的行为是否符合预期。
您能否分享一下 app.yml 中 upload_size 的值?
Canapin
(Coin-coin le Canapin)
19
嘿 Richie!
我不知道 Discourse 是否能够下载非常大的远程图片。
不过,我记得以前当你热链接一张大图时,会显示“图片太大,无法在论坛中显示”之类的消息,并附有指向外部图片的链接。
现在似乎不再是这样了。
粘贴外部大图链接(https://upload.wikimedia.org/wikipedia/commons/0/0b/New_cyclic_large.gif - 11 MB GIF),我可以重现你的问题:
这看起来非常像一个 bug,而且可能是一个回归。
1 个赞
Richie
(Richie Rich)
20
我认为你可能误解了问题,或者你看到的正是 bug 的原因 
我没有将该图片上传到 Discourse,我只是粘贴了一个链接,就像 @Canapin 下面的屏幕录像一样 
@Canapin 伙计,它已经处理大图片很多年了,很多年了,只是在过去六到八周才停止工作。
感谢测试 
我可以在我们的论坛、try.discourse.org 和 meta.discourse.org 上重现它。
我已为此问题设置了赏金:
再次感谢所有到目前为止关注此问题的人 
Lilly
(Lillian Louis)
22
我也能重现这个问题。我还检查了我所有的图片相关设置,以确保没有任何设置导致了这种效果。我注意到当我第一次发布带有大图片链接的帖子时,图片会闪烁一分钟,好像要从照片顶部加载一样,然后就消失了(尽管图片在帖子预览窗口中非常可见)。
2 个赞
Lilly
(Lillian Louis)
24
我在私信中测试了一下,图片如预期般显示正常,并且链接到了原图。所以问题似乎仅限于主题帖的视图中。
@Richie 照片很酷 
2 个赞