Image files uploaded by customers stopped being passed to cart properties via /cart/add.js, appearing as generic objects (filename/type/tempfile) instead of usable images. This broke overnight and affected stores that rely on customer image uploads for personalized/print products.
Impact crossed implementations: both API-based submissions and standard HTML forms, with no theme changes on affected stores.
A suggested workaround was to convert images to Base64 and include them in the AJAX request. However, merchants reported this as impractical because it produces very long strings that surface as unwieldy text in checkout.
Support trajectory: initially, support was unaware; later they confirmed developers were actively investigating and planning a fix.
Current status: support follow-up indicated the issue “should now be resolved.” No additional implementation details or alternative solutions were provided in-thread. The thread implies resolution but lacks user-side confirmation beyond the support email.
Key takeaways:
Issue: image blob handling in cart properties regressed.
Scope: API and HTML form uploads.
Workaround: Base64 suggested, rejected as not viable.
Status: reportedly resolved by Shopify as of the latest update.
Summarized with AI on December 17.
AI used: gpt-5.
It seems recently shopify has either changed something here, or a bug…
Either way, customers who have to upload custom images to our site for us to print, is now useless as the image is not coming through. https://gyazo.com/c56c8c0c2e5c310ea6f6ca914fb93192 This is currently how it looks compared to it coming through as a picture before.
Just jumping into this thread to report the same issue.
We have been submitting image blobs to the cart via the API for some time now, and this ability seems to have been removed overnight and is now instead submitting an object, e.g.:
{"filename"=>"img.png", "type"=>"image/png", "name"=>"properties[Please upload image you would like us to use.]", "tempfile"=>"#
I’ve had a reasonably extensive chat with support today, and they have said that their developers are now actively looking into it and plan to implement a fix. Hopefully, this should be resolved soon.