图像的奇怪行为。处理图像时显示错误图像

strange behavior with images. Wrong image is shown when image is processed

这两个代码显示的图片不同:

<v:media.image src="uploads/tx_netjapan/{image}" alt="" width="300" />

<v:media.image src="uploads/tx_myext/{image}" alt="" />

第一个代码在 typo3temp 中创建图像:

/typo3temp/_processed_/csm_Imagename_1234123123.jpg

第二个代码只显示图像:

/uploads/tx_myext/Imagename.jpg

奇怪的是,这不是同一张图片。它为调整大小的图像拍摄另一张图像。这怎么可能?


编辑:

更改 1 个像素的宽度现在显示正确的图像:

<v:media.image src="uploads/tx_netjapan/{image}" alt="" width="301" />

删除 _processed_ 文件夹中的图像并使用 width=300 重新创建它会再次创建旧的错误图像。


编辑 2:

清理所有 typo3temp 文件夹和所有临时 mysql 表后,它现在可以工作了。但这怎么可能发生呢?

TYPO3 将一些处理后的数据存储在数据库中(即在 cache_imagesizes table 中),以便更快地重新使用裁剪后的图像。如果您使用之前的同名图像,不需要裁剪,则可能会在替换从数据库中获取的旧元数据后发生这种情况。

如有任何疑问,请转至 安装工具 > 清理 部分并清除 table 指示图片负责

请注意这是安全操作,只是在下一个页面视图客户端将需要等待更长的时间来创建新数据,无论如何它不会干扰生成新的有效版本的图像。