Importing images to Sanity - possible workaround using ndjson
8 replies
Last updated: May 2, 2020
G
Hello. Trying to understand importing assets to sanity. After reading https://www.sanity.io/docs/importing-data am I right that images can only be imported by referencing them as part of a document? I would like to just import the images to make them available to the authors when they build content but I don't know how they're going to use them.
May 2, 2020, 4:18 PM
K
Hm. I'm surprised that this is the first time we had that question. I must admit I’m not sure if it’s possible upload just the images via the CLI, but you could get around it by making an ndjson like this.
Import the documents (and the assets), and then run this script to delete all the
{ "_type": "imageImport", "image": { "_type": "image", "_sanityAsset": "image@file:///path/to/image/file.jpg", } }
imageImportfiles after you're done with
*[_type == "imageImport"]https://github.com/sanity-io/sanity-recipes/blob/master/snippets/deleteDocsByFilter.js
May 2, 2020, 4:28 PM
K
Hm. I'm surprised that this is the first time we had that question. I must admit I’m not sure if it’s possible upload just the images via the CLI, but you could get around it by making an ndjson like this.
Import the documents (and the assets), and then run this script to delete all the
{ "_type": "imageImport", "image": { "_type": "image", "_sanityAsset": "image@file:///path/to/image/file.jpg", } }
imageImportfiles after you're done with
*[_type == "imageImport"]https://github.com/sanity-io/sanity-recipes/blob/master/snippets/deleteDocsByFilter.js
May 2, 2020, 4:28 PM
P
I'm surprised too 😅. Thanks Knut I'll give it a try!!
May 2, 2020, 4:34 PM
P
Should I be worried that the export gave a error and it's been exporting for 10 minutes now 🙂 ?
Unhandled rejection: TypeError: Cannot read property 'setTimeout' of undefined
May 2, 2020, 6:31 PM
P
I'm exporting a very small dataset btw
May 2, 2020, 6:35 PM
K
Not sure what that means. Try running it with
DEBUG=sanity*prepended to the export(?) command?
May 2, 2020, 6:41 PM
P
Exporting documents... sanity:export Error, retrying after 1500ms: Cannot read property 'setTimeout' of undefined +146ms ⠹ Exporting documents... sanity:export Error, retrying after 1500ms: Cannot read property 'setTimeout' of undefined +2s ⠹ Exporting documents... sanity:export Error, retrying after 1500ms: Cannot read property 'setTimeout' of undefined +2s ⠙ Exporting documents... sanity:export Error, retrying after 1500ms: Cannot read property 'setTimeout' of undefined +2s ⠹ Exporting documents... sanity:export Error, retrying after 1500ms: Cannot read property 'setTimeout' of undefined +2s ⠋ Exporting documents...Unhandled rejection: TypeError: Cannot read property 'setTimeout' of undefined at /Users/proko/sanity-studio/node_modules/@sanity/export/lib/requestStream.js:73:31 at Generator.next (<anonymous>) at /Users/proko/sanity-studio/node_modules/@sanity/export/lib/requestStream.js:79:10 at Generator.next (<anonymous>) at asyncGeneratorStep (/Users/proko/sanity-studio/node_modules/@sanity/export/lib/requestStream.js:9:103) at _next (/Users/proko/sanity-studio/node_modules/@sanity/export/lib/requestStream.js:11:194) at processTicksAndRejections (internal/process/task_queues.js:97:5) ⠴ Exporting documents...
🤔 is this giving any hints?
May 2, 2020, 6:48 PM
P
Did an upgrade and export again and this time it worked. This is a "my code (works|doesn't work) and have no idea why" situation!!
May 2, 2020, 7:01 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.