支持 HEIC 图像

我们有很多用户上传文件。据称这些是来自 iPhone 的 HEIC 格式文件。

有没有办法让这些文件在帖子中直接显示?(假设目前还不支持?)

4 个赞

看起来这是浏览器的限制:

heif 涵盖了 heif 和 heic 两种格式,目前主流浏览器均不支持这两种格式。

6 个赞

唉,真烦人,苹果。

我认为应该标记为 pr-welcome,因为它允许用户上传这些文件,并将它们从 HEIC 转换为 JPEG。

11 个赞

是否已有类似的现有流水线,可供你推荐给贡献者参考?

8 个赞

这里有一个:

还有一些相关的测试文件在 upload_creator_spec.rb

12 个赞

我觉得这将是一个非常棒的升级,而且 HEIC 格式似乎也不会消失……如果有人能解决,非常感谢!

需要明确的是,这不会增加对 HEIC 格式的支持。图片将通过另一种有损方法进行转换,在此过程中会略微降低一点保真度。

任何以 HEIC 格式共享的实况照片将变为静态图像,而且虽然 HEIC 支持透明通道,但 JPEG 不支持。

等效的 JPEG 文件大小大约是 HEIC 的两倍。

10 个赞

明白了。我可以接受这些权衡。

1 个赞

这个有进展吗?

目前不行。您是想赞助该功能,还是提交 PR?

我昨天试着做了这个。我在 Mac 上工作,在我的机器上这个过程相当直接,所以我创建了这个 PR:FEATURE: Support converting HEIF images to JPEG by pmusaraj · Pull Request #10079 · discourse/discourse · GitHub 不过,Linux 机器上的 ImageMagick 默认并不支持 HEIC 格式,因此在我们更新基础 Docker 镜像以包含 HEIC 支持之前,无法合并此 PR。

我现在将着手处理此事,但这需要一些时间才能进入核心代码库。

17 个赞

此功能现已合并到核心中,基础镜像也已更新。

要启用 HEIC/HEIF 支持,您需要:

  • 启用“将 heif 转换为 jpeg
8 个赞

[quote=“pmusaraj, post:15, topic:144326”]
如果您使用我们的托管服务,此功能应该已经可用(如果尚未启用,请给我们发个简短消息)。[/quote]
您的意思是,在我们托管的服务中,该站点设置默认是启用的吗?

不,默认情况下并未启用,我只是想说新设置应该在我们的托管环境中存在。

4 个赞

在我们的托管环境中默认启用它是否有任何原因不支持?

1 个赞

这真的需要作为一个设置项吗?

Discourse 并不是一个文件管理器,如果人们想分享 HEIC 文件,难道不能直接链接到托管在其他地方的文件吗?

我看不到这会造成什么实质性的危害?

1 个赞

我想你是对的,这个设置只是增加了一个障碍。移除它很容易。

我们是否也应该将 .heif/.heic 添加到默认的“授权扩展名”站点设置中,@codinghorror

6 个赞

没问题,怎么方便怎么来!

5 个赞

理想情况下,这应该开箱即用,对吧?

其他上传内容已经过优化,HEIC 只是进一步优化,以解决浏览器兼容性问题。

8 个赞