CORS Issue on uploading files to Workfront API using Firefly app | Community
Skip to main content
shelly-goel
Adobe Employee
Adobe Employee
May 5, 2021
Question

CORS Issue on uploading files to Workfront API using Firefly app

  • May 5, 2021
  • 1 reply
  • 2008 views

Getting below error even though appropriate headers are set

 

Access to fetch at '<workfront url>/attask/api/v12.0/upload' from origin 'https://localhost:9080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: 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.

 

headers being set:

headers: {
        'apiKey': '<key>',
        'Content-Type': 'multipart/form-data',
        'Access-Control-Allow-Origin': '*'
      }
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

1 reply

Adobe Employee
May 5, 2021

@shelly-goel - the CORS policy is set by the server (workfront in this case), and you can not bypass it by changing your UI code.

The recommended route would be: write a Runtime action to call the workfront API, processes the data, and returns it to the UI for rendering.

Adobe Employee
May 6, 2021

Does the workfront API accept a URL to the file? I don't think using the Runtime action as a middleware to upload file is ideal because it makes the performance much worse, and the serverless action itself is not intended to handle files. Instead, the recommendation is to upload the files to Firefly Files SDK, get the files URL, and pass it over to Workfront.

You flow would be like this: UI calls Runtime action to get upload URL -> Action returns Files SDK URL -> UI uploads file to Files SDK and calls action to send it to workfront -> action calls Workfront API, referencing the file URL -> Workfront downloads the file from there and processes it.