Issue with image assets not showing up in Sanity Studio CMS or front end after bulk downloading and optimizing dataset.

2 replies
Last updated: Nov 26, 2021
Hi, I am try to bulk download .tar.gz of dataset in sanity and optimized the images manually (the images folder) without renaming any files. Then I repacked the folder as .tar.gz (same folder structure with asset.json and data.jsonld and images folder). I have been trying for a while now, but the issue is that when I import to new dataset the image assets aren't showing up in sanity studio cms or the front end. But i do see the images in the media gallery plugin inside sanity, as well as via graphql on the main dataset
Nov 25, 2021, 4:04 PM
Hi, could someone help please. I am trying to launch today
Nov 26, 2021, 5:25 AM
const fs = require('fs')

const util = require('util')

const ndjson = require('ndjson')

function rebuildFileAssetUrls(val, key) {

if(typeof val === 'string') {
`const newVal = val.replace('file://./',

return newVal


else if(Array.isArray(val)) {

return> rebuildFileAssetUrls(item))


else if(typeof val === 'object' && val != null) {

const entries = Object.entries(val)

let newItem = {}

entries.forEach(([key, val])=> newItem[key] = rebuildFileAssetUrls(val, key))

return newItem


else if(typeof val === 'undefined' || val == null) {

return val


else if(typeof val === 'boolean' || typeof val === 'number') {

return val


else {

return val



(async ()=> {

let data = await new Promise((resolve)=> {

let temp = []



.on('data', function(obj) {



.on('end', function() {




let writeStream = fs.createWriteStream('./output_0.ndjson')

const serialize = ndjson.stringify()

serialize.on('data', function(line) {

// line is line of stringified JSON with newline delimiter the end

writeStream.write(line, 'utf-8')


writeStream.on('finish', () => {

console.log('wrote all data to file')


data = data.forEach((item)=> {

let newItem = {



newItem = rebuildFileAssetUrls(newItem)





leaving this script here for anyone who have this problem again.

for this "amazing" community of 13 K members ! thank you very much!!!!
Nov 26, 2021, 3:55 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?