Shopify GraphQL Admin API で20メガピクセルを超える画像をアップロードすると消えることが分かったので、ご紹介します。
Shopify GraphQL Admin API mutation productCreate や productUpdate で20メガピクセルを超える画像を指定すると消えてしまいました。
対策としては、画像アップロード処理にメガピクセルとファイルサイズ (メガバイト単位) の両方について validation を追加することが考えられます。
アップロード制限
Shopifyへの画像アップロードには、メガピクセルとファイルサイズ (メガバイト単位) の両方で制限があります。メガピクセルは、画像のピクセル構成数 (百万単位) を示すために使用されます。メガバイトは、画像が占めるメモリまたはディスクスペースの数 (百万単位) を示すために使用されます。
次のいずれかの制限を超える画像をShopifyにアップロードすることはできません。
- 20メガピクセル
- 20メガバイト
画像のメガピクセルを知るには、(pixel width x pixel height)/1,000,000を使用します。たとえば、解像度4900 x 6930の画像は、(4900x6930)/1,000,000 = 33.9 MPなので、33.9メガピクセルとなります。
以上、Shopify GraphQL Admin API で20メガピクセルを超える画像をアップロードしたら消えて困った、現場からお送りしました。