ERP上传图片超时后重试,媒体库出现多张相同图片。HTTP超时不代表第一次请求失败,可能只是响应未送达。
实际处理步骤
- 为图片记录外部ID、内容SHA-256和Magento entry_id;不能只按文件名判断。
- 上传前读取media_gallery_entries并比较外部ID或内容哈希;已存在则更新label、position和roles。
- 一次业务上传使用稳定幂等键,结果未知时先GET核对,再决定是否重试,禁止并发重放。
- 历史重复项先确认各Store图片角色,只删除内容相同且无独立角色的冗余entry,再重建图片缓存。
检查命令
GET /rest/V1/products/SKU/media
POST /rest/V1/products/SKU/media
# 客户端保存 external_image_id -> entry_id 与 sha256(content) 映射验证结果
模拟服务器已保存但客户端超时,再重试同一图片;最终只有一个entry,图片角色和排序正确。

