我的产品图片是 500 像素,但 eBay 导出仍然抱怨图片 <500 像素
-
12-12-2019 - |
题
我已经完成了“一件可怕的事情”,并通过执行以下操作将所有小于 500 像素的图像批量调整为最小 500 像素:
find -type d \( -path ./cache -o -path ./placeholder \) -prune -o -type f -regextype posix-egrep -iregex '.*\.(jpg|gif|tif)$' -exec identify {} \; | awk '{ split($3, wh, /x/); } wh[1] < 500 && wh[2] < 500 { print $1; }' | while read i; do convert $i -resize 500 -quality 90 $i ; done
然后我删除了 100x100 调整大小的图像:
find ./ -name "resized*" -exec rm {} \;
这在文件系统上完美运行。我删除了 Magento 图像缓存(在文件系统级别确认)
不幸的是,当我尝试运行 M2EPro 来修改 eBay 列表时,它收到一条错误消息,指出图像 < 500 像素。
如果我获取原始图像并使用 Magento Admin 重新保存它,它将被接受并正确修改,不会出现错误。
我的问题是 Magento 是否以某种方式在上传时存储或缓存图像尺寸? 我如何刷新或让 Magento 重新计算所有图像的值?
解决方案
我已经意识到它是由于eBay缓存了来自Nginx的30天过期缓存控制的图像URL。
其他提示
Magento 从来不做那件事。
它只是将产品图片保留在里面 media/catalog/product/
目录,每当图像显示在前端并使用调整大小时 catalog/image
辅助类方法resize($width,$height),产品图像被调整大小并缓存到 media/catalog/product/cache
.