0
Я хочу загрузить файл с symfony, но всегда получаю сообщение об ошибке при отправке моей формы.Файл не найден Ошибка при загрузке файла с symfony
Это моя сущность код:
public function rootPath($directory) {
return $this->getUploadRootDir($directory) . '/' . User::cleanFilename($this->file->getClientOriginalName());
}
public function getWebPath($directory) {
return $this->getUploadDir($directory) . '/' . User::cleanFilename($this->file->getClientOriginalName());
}
public function getUploadDir($directory) {
return $this->user->getDir() . '/' . $this->user->getDirectoryName() . '/' . $directory;
}
protected function getUploadRootDir($directory) {
return $this->user->getRootDir() . '/' . $this->user->getDirectoryName() . '/' . $directory;
}
public function upload($directory) {
// la propriété « file » peut être vide si le champ n'est pas requis
if (null === $this->file) {
return;
}
$this->filename = User::cleanFilename($this->file->getClientOriginalName());
$this->file->move($this->getUploadRootDir($directory), $this->filename);
// $this->url = $this->file->getClientOriginalName();
//$this->filename=$this->getWebPath($directory);
$result = $this->rootPath($directory);
$this->file = null;
return $result;
}
И это то, что Symfony возвращение:
Message Origin Cause
Le fichier n'a pas été trouvé. file Symfony\Component\Validator\ConstraintViolation
Object(Symfony\Component\Form\Form).data.file = file3.csv
Я пытался несколько раз, но я всегда получаю ту же проблему.
В чем причина этой ошибки?
Symfony2 поваренную (http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html) в настоящее время предлагают попробуйте https://github.com/dustin10/VichUploaderBundle, его легко интегрировать, а документация довольно хорошая. – Rooneyl
Возможно, у вас есть проблемы с правами на вашем сервере? Файл загружается сначала в папку tmp, я думаю. Может быть, что-то не так. Возможно, папке назначения также нужны точные разрешения. Попробуйте использовать cmod -R 777 в своей папке для загрузки. Но это разрешение не для производства! –