✨Discover storytelling in the AI age with Pixar's Matthew Luhn at Sanity Connect, May 8th—register now

Pass an External Image URL to the Sanity Client and Upload

11 replies
Last updated: Apr 7, 2020
Is there an option to pass an external image url to the sanity client, and have it uploaded? I need to upload image from another service, from a react app, but can't because of CORS. And would like to not have to set up a microservice just to be able to do this. 🙂
Apr 7, 2020, 2:44 PM
you might have a look at this: Custom Asset Sources

https://www.sanity.io/docs/custom-asset-sources
Apr 7, 2020, 3:04 PM
Thanks, but I wan't Sanity to store all images. I just need to import them through js client side, from an external source.
Apr 7, 2020, 3:07 PM
ahh, sorry, misread before
Apr 7, 2020, 3:07 PM
think you’d have to set up an external service for that 😕
Apr 7, 2020, 3:09 PM
user M
is right, the Sanity API doesn't support importing images from an url and there's no working around the browser security model here.
Apr 7, 2020, 3:40 PM
Ok, thanks. 🙂
Apr 7, 2020, 3:40 PM
Can’t it be kinda done via canvas? If you scroll down to the asset examples here? https://www.sanity.io/docs/js-client
Apr 7, 2020, 3:45 PM
You would still need to read the binary data from the image at another origin, and I don't think the same origin policy will allow that unless CORS headers are set.
Apr 7, 2020, 3:46 PM
user Y
I tried to do that, but as soon as you load external data into the canvas, the
toBlob()
throws error.
Apr 7, 2020, 3:47 PM
Aha! Well, that’s probably actually a good thing. Seems like lambdas or some such is the way to go
Apr 7, 2020, 3:47 PM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?