Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Cannot set custom folder for ImageField

Go to End

17 Posts   5415 Views


21 July 2009 at 4:40pm Community Member, 9 Posts

I have created an Image Field in a HasManyComplexTable popup using the following code:

new ImageField('Photo', null, null, null, null, "PictureGallery")

I have attached an image that helps show what the form looks like.

The problem is that the images uploaded always get saved to 'Uploads' and not the folder I have specified. I inserted a Debug::backtrace() command into the Upload->load(..) method and got the following output from the CMS:

* Upload->load(Array,)
Line 152 of Upload.php
* Upload->loadIntoFile(Array,Object id #57)
Line 226 of File.php
* File->loadUploaded(Array)
Line 123 of Image.php
* Image->loadUploaded(Array)
Line 748 of Image.php
* Image_Uploader->save(Array,Object id #33,Object id #8)
Line 241 of Form.php
* Form->httpSubmission(Object id #8)
Line 129 of RequestHandler.php
* RequestHandler->handleRequest(Object id #8)
Line 143 of RequestHandler.php
* RequestHandler->handleRequest(Object id #8)
Line 122 of Controller.php
* Controller->handleRequest(Object id #8)
Line 277 of Director.php
* Director::handleRequest(Object id #8,Session)
Line 121 of Director.php
* Director::direct(/images/index/PictureGalleryItem/8/Photo/EditImageForm)
Line 118 of main.php

As you can see on the first line, the folder path I specified is not being passed into the method. When I look in File.php at the File->loadUploaded(..) method it says that it is deprecated, which seems like it could be the problem.

Unfortunately, I don't know enough about SS internals to figure out any more from this. Perhaps someone with more expertise could shed some light on this?

Any help with getting this working correctly would be much appreciated - I'd rather not have all my images being sent to the Uploads folder.

Attached Files

23 July 2009 at 2:19am Community Member, 95 Posts

this may help:$folderName

i think this example should work, but never tried:

$img = new ImageField('MyImage', 'Please Select an Image');
$img -> folderName = 'HomePageImages'; //THIS IS RELATIVE TO UPLOADS
$fields -> addFieldToTab('Root.Content.Image', $img);


23 July 2009 at 9:18am Community Member, 9 Posts

Thanks for that, but unfortunately it still places the image in the 'Uploads' folder.


29 July 2009 at 2:36am Community Member, 29 Posts

I'm having the same issue. I can't set the upload directory for ImageField no matter what I do.


29 July 2009 at 9:09am Community Member, 9 Posts

I tried it in a daily build from a couple of weeks ago and it works, so here's hoping 2.3.3 fixes it.


18 August 2009 at 8:50am Community Member, 22 Posts

I'm using 2.3.3, but problem persists.
Any ideas?


18 August 2009 at 9:26am Community Member, 9 Posts

It has already been fixed in the daily builds - I'm talking with SS at the moment to find out why it wasn't in 2.3.3.

Hopefully it will be in the next release.


18 August 2009 at 9:35am Community Member, 22 Posts

thx answer....
Need just wait and hope -_-

Go to Top