Image Error `Content has invalid type: `sanity.imageAsset`

6 replies
Last updated: Apr 16, 2020
I’m having some trouble adding an image to a document using the the
client
. I am successfully uploading the image asset, but Im not sure how to attach that to the field I want in the document. My current attempt is using the
.patch
functionality and seems like it should be working, but its encountering an error `Content has invalid type:
sanity.imageAsset
I’ll post code and full error in thread.
Apr 15, 2020, 2:28 PM
client.assets
          .upload('image', logoFile)
          .then(document => {
            console.log('The file was uploaded!', document)
            // document._type = 'image'
            client.patch(docID)
              .set({logo: document})
              .commit()
              .then(addedLogo => {
                console.log('Image Added')
                console.log(addedLogo)
              })
              .catch(error => {
                console.error('Upload failed:', error.message)
              })
          })
          .catch(error => {
            console.error('Upload failed:', error.message)
          })

Apr 15, 2020, 2:28 PM
.set({
  logo: {
    _type: "image", // <= or whatever the type name is for "logo"
    asset: {
      _type: "reference",
      _ref: document._id
    }
  }
})
It should be something like this, I believe
Apr 15, 2020, 2:30 PM
🔥 Worked like a charm! Thanks!
Apr 15, 2020, 2:35 PM
Hi
user Y
. I thought I’d post here because its so closely related to my other question.
What is the structure for creating a reference with
client.create
? This is what I’ve got that isn’t working

const doc = {
    _type: 'siteSubmissions',
    businessName,
    referenceId: {
      _type: 'sites',
      _ref: _id,
    },
}

Apr 16, 2020, 5:06 PM
const doc = {
    _type: 'siteSubmissions',
    businessName,
    referenceId: {
      _type: 'reference',
      _ref: _id,
    },
}
provided
refrenceId
 is a field of the type
reference
Apr 16, 2020, 5:07 PM
🔥 Thanks again for the blazing fast response!
Apr 16, 2020, 5:09 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?