如何在GitHub上的README.rst中强制进行映像(缓存)更新

tam*_*gal 28 github readme

在我的一个项目中,我使用外部图像链接通过GitHub页面显示屏幕截图,该页面自动解析README.rst

ROyWeb的GitHub页面

我在最近几周在我的网络服务器上多次更新了这个截图,我刚刚意识到它没有在GitHub页面上更新,因为......好吧我认为它从未更新;-) GitHub以某种方式下载了图像并从中加载了它缓存服务器.

在README.rst中,显然有正确的链接:

ROyWeb屏幕截图的实际链接

您可以在加载原始文件时确认:

GitHub上的原始README.txt

但是当我在GitHub页面上检查显示图像的URL时,我得到:

GitHub缓存了ROyWeb的截图

有谁知道如何强制"重新安排"?

Ale*_*nyk 55

curl -X PURGE {url of cached badge image}
Run Code Online (Sandbox Code Playgroud)

  • 这对我不起作用。还有另一种方法吗?我的自述文件是一堆丢失的图像(主要是 shields.io 徽章)。这是一个有修复前景的已知错误吗? (5认同)
  • 这确实有效!如果它不适合您,请在单击刷新时按 Ctrl 键,您可能是从自己的缓存中获取图像(我必须这样做)。 (3认同)
  • 太棒了!出于好奇,您在哪里找到此信息。我不认为 PURGE 是标准的 http 方法? (2认同)
  • @MichaelAquilina 我不知道他是怎么找到它的,但 Github 提到了它 [here](https://help.github.com/articles/about-anonymized-image-urls/#removing-an-image-from-camos-缓存)。 (2认同)

Sib*_*enu 25

还有一个很有用的技巧。无非就是在图像扩展名的末尾添加一个问号。

![This is an automated blog post image using Azure Function](https://customurl.blob.core.windows.net/github/latestpost.png?)
Run Code Online (Sandbox Code Playgroud)

请参阅末尾的问号(?)。您还可以在我的GitHub 个人资料中查看实时示例。

您可以在此处查看更多相关信息。

  • 你太棒了! (2认同)

Use*_*ser 7

我查看了shields.io 的作用。

它设置此标头():

Cache-Control: max-age=2592000
Run Code Online (Sandbox Code Playgroud)

  • 我[在这里](https://github.com/github/markup/issues/224)看到了这个想法,但不知道原始 URL 使用什么语法。按照您的第二个链接向我展示了如何做到这一点。谢谢。 (2认同)