ERP上传图片超时后重试,媒体库出现多张相同图片。HTTP超时不代表第一次请求失败,可能只是响应未送达。

实际处理步骤

  1. 为图片记录外部ID、内容SHA-256和Magento entry_id;不能只按文件名判断。
  2. 上传前读取media_gallery_entries并比较外部ID或内容哈希;已存在则更新label、position和roles。
  3. 一次业务上传使用稳定幂等键,结果未知时先GET核对,再决定是否重试,禁止并发重放。
  4. 历史重复项先确认各Store图片角色,只删除内容相同且无独立角色的冗余entry,再重建图片缓存。

检查命令

GET /rest/V1/products/SKU/media
POST /rest/V1/products/SKU/media
# 客户端保存 external_image_id -> entry_id 与 sha256(content) 映射

验证结果

模拟服务器已保存但客户端超时,再重试同一图片;最终只有一个entry,图片角色和排序正确。