I have a field 'Event Listing Image' set up as:

  • Field Type: Asset
  • Restrict uploads to single folder
  • Upload location [Events]{slug}

There's an asset bucket Events:

  • Local Folder
  • File System Path: {fileSystemPath}/content/events/
  • URL: /content/events/

The field is in a section named Events of type Channel.

The system folder /content/events/ exists and is writable.

If I edit an existing Entry in that channel, I can click upload in that field, but it errors every time with:

Upload failed for test.jpg. The error message was: ”Error uploading the file: The folder “/Users/matt/Sites/bs_conwyarts/_bespoke/public/content/events/test-event/” does not exist.“

I know it doesn't, it's dynamic based on the entry slug. Why is Craft not creating the folder?

Irony: I have a field called Featured Image set up almost identically on a different Channel that does work:

Featured Image:

  • Field Type: Asset
  • Restrict uploads to single folder
  • Upload location [Artists]{slug}

Asset bucket Artists:

  • Local folder
  • File System Path: {fileSystemPath}/content/artists/
  • URL: /content/artists

UPDATE: looks like a bug. It works fine for new entries posted in the Events channel, it does not work for the existing entry in the Channel. I think I added the field in question after creating the first entry, so it looks like that might be the culprit.

1 Answer 1


Problem solved thanks to Craft Twitter support; needed to re-build the Asset Indexes; because I'd added that field after already creating an entry the asset index was stale and needed flushing.

  1. Open Craft admin dashboard
  2. Click Settings
  3. Click Update Asset Indexes
  4. Click Go!

This process scans through the list of assets in the database and ensures it matches what is in the file system and updates the database as needed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.