I've been using the FileField this weekend in a project, and I'm struggling
to get the original name of the file after binding the form - I always get
the temporary name returned. I'm not sure if this is a bug - I can remedy
this by swapping a couple of lines around in FileField but I'd like to get
confirmation I'm accessing the File object correctly if possible.
My controller has the following:
$fileObj = new MyFile();
$form = new MyForm::create($this->get("form.context"), "myFile");
$files = $this->get("request")->files->get($form->getName());
$form->bind($this->get("request"), $fileObj);
if ($form->isValid())
{
$fileIWant = $files["formFileField"]["file"];
$newPath = "/path/to/somewhere";
// I want the original filename here, so I can move it and rename
accordingly.
$fileIWant->move($newPath);
}
Using $fileIWant->getName() I can only get the temporary name, rather than
the original name of the uploaded file, which is what I want to keep the
file named as in its new location. I've made a slight change to the
FileField class which allows me to retrieve the original name from
$form->get("filename")->getDisplayedData() but I'm feeling this is a bit
hackish - I'm not sure if this is a bug or not.
The change I've made is at
https://github.com/richsage/symfony/commit/8128553ff5ff3fefccd78314b861180d567fffa1-
the FileField test passes with or without this change in place so I
suspect there is a test issue somewhere as well.
Can anyone shed some light on the above? Am I going about this the wrong
way?
Thanks,
Rich.
--
Rich Sage
York, UK
[email protected]
--
If you want to report a vulnerability issue on symfony, please send it to
security at symfony-project.com
You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en