使用 Discord 贴纸时遇到问题
Having trouble working with Discord Stickers
我正在尝试使用 Discord 贴纸,但我越深入,它就越令人困惑。
我们将要使用的贴纸 URL:https://cdn.discordapp.com/stickers/781291131828699156.png
如果您在 discord 上复制并粘贴 URL,它只会显示非动画(“PNG”)版本的贴纸。但是,当您通常使用贴纸选项卡或欢迎反应方法在 Discord 上发送相同的贴纸时,Discord 会将其显示为实际贴纸(动画,“GIF”)。我在工作中发现的东西很少:
- 如果您不正常操作,它将始终显示 PNG 版本。
- 当你在浏览器中输入 URL 时,它会以
.png
格式显示贴纸的实际动画版本,这非常令人困惑,因为它始终显示“PNG”版本您在不和谐服务器中发送 URL,但是当您访问它时,它会显示动画。 (我不确定它是如何工作的,页面 HTML 只是加载相同的 URL)
- 当您正常发送 URL 时,Discord 实际上使用
https://media.discordapp.net/stickers/781291131828699156.png?size=160&passthrough=false
。我做了一些研究,发现 cdn
适用于桌面设备,而 media
适用于移动设备。但是,它与 cdn
完全一样,我猜 Discord 使用“媒体”作为通用,因为它会在所有设备上加载(不确定)。
我尝试使用 axios
下载文件,但它是相同的(“PNG”版本)。
- 谢谢
Discord 使用 APNG 格式,本质上只是让 PNG 文件动画,用于渲染贴纸,所以 .png
不是问题。
至于加载不出来的原因有很多。
- 您的浏览器可能不支持该格式。但是,正如您在问题中所说,您可以将其加载到单独的 window.
中,这被排除在外
- 可能是
media
和 cdn
服务器在压缩文件时弄乱了 APNG 数据。
如您所知,Discord 使用 media.discordapp.net
作为加载图像的媒体代理,因此这可能是错误的。存在关于从该域加载的视频无法在 Discord 中加载的已知问题,因此这可能是相关的。
我自己测试过,它看起来像 a) 如果您在浏览器中加载 media
link,它 不会 动画化(至少对我而言),并且 b) 如果您在 Discord 中发送它,它也 不会 动画化。
然而,cdn
link 略有不同。我发现 a) 它 确实 ,实际上,在我的浏览器上动画(就像你的浏览器发生的那样)但是 b) 不 在 Discord 中动画.
所以我们知道 media
上发生的事情与 cdn
上发生的事情不同。也许这就是原因?
我目前的理论是,Discord 可能会从 PNG 文件(认为它不是 APNG)中删除不需要的(在它看来)数据以减少带宽使用,从而阻止它动画化。
不过,我必须进一步调查。
我正在尝试使用 Discord 贴纸,但我越深入,它就越令人困惑。
我们将要使用的贴纸 URL:https://cdn.discordapp.com/stickers/781291131828699156.png
如果您在 discord 上复制并粘贴 URL,它只会显示非动画(“PNG”)版本的贴纸。但是,当您通常使用贴纸选项卡或欢迎反应方法在 Discord 上发送相同的贴纸时,Discord 会将其显示为实际贴纸(动画,“GIF”)。我在工作中发现的东西很少:
- 如果您不正常操作,它将始终显示 PNG 版本。
- 当你在浏览器中输入 URL 时,它会以
.png
格式显示贴纸的实际动画版本,这非常令人困惑,因为它始终显示“PNG”版本您在不和谐服务器中发送 URL,但是当您访问它时,它会显示动画。 (我不确定它是如何工作的,页面 HTML 只是加载相同的 URL) - 当您正常发送 URL 时,Discord 实际上使用
https://media.discordapp.net/stickers/781291131828699156.png?size=160&passthrough=false
。我做了一些研究,发现cdn
适用于桌面设备,而media
适用于移动设备。但是,它与cdn
完全一样,我猜 Discord 使用“媒体”作为通用,因为它会在所有设备上加载(不确定)。
我尝试使用 axios
下载文件,但它是相同的(“PNG”版本)。
- 谢谢
Discord 使用 APNG 格式,本质上只是让 PNG 文件动画,用于渲染贴纸,所以 .png
不是问题。
至于加载不出来的原因有很多。
- 您的浏览器可能不支持该格式。但是,正如您在问题中所说,您可以将其加载到单独的 window. 中,这被排除在外
- 可能是
media
和cdn
服务器在压缩文件时弄乱了 APNG 数据。
如您所知,Discord 使用 media.discordapp.net
作为加载图像的媒体代理,因此这可能是错误的。存在关于从该域加载的视频无法在 Discord 中加载的已知问题,因此这可能是相关的。
我自己测试过,它看起来像 a) 如果您在浏览器中加载 media
link,它 不会 动画化(至少对我而言),并且 b) 如果您在 Discord 中发送它,它也 不会 动画化。
然而,cdn
link 略有不同。我发现 a) 它 确实 ,实际上,在我的浏览器上动画(就像你的浏览器发生的那样)但是 b) 不 在 Discord 中动画.
所以我们知道 media
上发生的事情与 cdn
上发生的事情不同。也许这就是原因?
我目前的理论是,Discord 可能会从 PNG 文件(认为它不是 APNG)中删除不需要的(在它看来)数据以减少带宽使用,从而阻止它动画化。
不过,我必须进一步调查。