两个相同的 PNG,一个已损坏



我有这个PNG文件,从Angular前端上传到django REST服务器。大约99.9%的上传图像工作正常;您可以在"管理"中查看它们并下载它们。

但是每隔一段时间,我就会得到这些损坏的PNG图像。如果你把图片URL放在地址栏中,你可以看到图像,但你不能在django管理员上看到它,你无法通过右键单击>save下载它。

我将图像上传并下载到Imgur,现在它似乎可以工作。当我把它放在 Django 开发服务器的媒体目录中时,我可以通过右键单击图像 URL 来下载它。

但它似乎与原始文件相同!

  • 我没有得到差异
  • 文件大小相同
  • 这两个文件似乎都没有打开(用lsof检查)

我别无选择。我将两个版本的图像上传到我的Google驱动器,并检查了如果您下载图像,损坏的图像似乎仍然已损坏。也许有人可以弄清楚这些文件之间的区别是什么。

损坏的图像

保存和固定的图像

编辑:经过一些试验和错误,我将问题缩小到文件名。显然,有些文件名会出错,但我不知道为什么。以下是有效和无效的文件名列表:

a-a14.png # Works
a-a10.png # Works
a-010.png # Works
a-ad0.png # Doesn't work
a-ad4.png # Doesn't work

所以似乎如果第二、第三和第四个字符-ad,则无法加载文件。

问题归结为文件名。显然,如果文件名与正则表达式/.*-ad[0-9].png/匹配,则不会加载。问题在 django 和 nginx 服务文件上仍然存在。

我为此提出了一个新问题:符合正则表达式'/.*-ad[0-9]\.png/'的图像不能在任何浏览器中加载?

相关内容

最新更新