使用symfony上传文件时找不到文件错误

时间:2015-12-11 14:43:32

标签: php symfony file-upload

我想上传一个包含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

我试了好几次但总是遇到同样的问题。

此错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

问题已解决,

我添加了enctype="multipart/form-data",然后问题已经解决了