CORS error when fetch internal attachment using attachment.contentUrl() | Community
Skip to main content

CORS error when fetch internal attachment using attachment.contentUrl()

  • May 27, 2021
  • 1 reply
  • 0 views

Hi everyone,

I have an attachment on internal note and I want to fetch it from my custom app.

I was trying to use comment.attachments() to get the attachment file from the comment, however it doesn't return the real File, it's just return the details of the attached file (like filename, contentType, contentUrl, thumbnailUrl, and token).

So I am thinking to create a new File by making a new blob from attachment.contentUrl(), but I can't get it due to CORS error when I am trying to get the attached file using the fetch function.

This is my code:

this.ticketObj = await parentClient.get('ticket')
const attachmentObject = this.ticketObj.ticket.comment.attachments
const blobFile = await fetch(attachmentObject[0].contentUrl).then(r => r.blob()) // I got CORS error on this line
const uploadFile = new File([blobFile], attachmentObject[0].filename, { type: attachmentObject[0].contentType })
 
I got the CORS error on the blobFile line.
 
Anyway, the value for attachmentObject[0].contentUrl is something like "https://xxxxx.zendesk.com/attachments/token/PppppmfyyOmjtyXbXxxxXXxxx/?name=abc.png"
 
And the CORS error shows "Access to fetch at 'https://xxxxx.zendesk.com/attachments/token/PppppmfyyOmjtyXbXxxxXXxxx/?name=abc.png' from origin 'https://333999.apps.zdusercontent.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled."
 
Any idea what am I missing here?
 
Thank You.

1 reply

Cheeny
  • June 20, 2021

Hi avdnowhere,

The troubleshooting steps needed to fix the error that you received are discussed under the article How can I troubleshoot CORS? We highly suggest that you check it out.

All the best