1

ファイルアップロードページを作成しました。私のコントローラーでは、アップロードされたビューのパスを取得し、特定の ID のデータベースに追加したいと考えています。そのために、ファイルのパスをリポジトリに送信する必要があります。コントローラーで使用している場合の問題

if ($request->getMethod() == 'POST')

      { 
                $form->bind($request);

        $file = $form["file"]->getData();

                /* here it is giving the path like /tmp/phpkR4kgD */
                $em = $this->getDoctrine()->getManager();
                $user->upload();
            }
this is my entity

/**
     * Sets file.
     *
     * @param UploadedFile $file

     */

    public function setFile(UploadedFile $file = null)
    {
        $this->file = $file;
    }
    public function upload()
    {
    if (null === $this->file) 
    {
            return;
        }
    $this->file->move($this->getUploadRootDir(), $this->file->getClientOriginalName());
    $this->path = $this->file->getClientOriginalName();
    $this->file = null;
    }
    /**
     * Get file.
     *
     * @return UploadedFile
     */
    public function getFile()
    {
        return $this->file;
    }

    public function getAbsolutePath()
    {
        return null === $this->path
            ? null
            : $this->getUploadRootDir() . DIRECTORY_SEPARATOR . $this->path;
    }

    public function getWebPath()
    {
        return null === $this->path
            ? null
            : $this->getUploadDir() . DIRECTORY_SEPARATOR . $this->path;
    }

    protected function getUploadRootDir()
    {
        return __DIR__ . '/../../../../web/'. $this->getUploadDir();
    }

    protected function getUploadDir()
    {
        return 'uploads/';
    }

symfony の web フォルダーにアップロードフォルダーを作成しました

4

1 に答える 1