小编J.D*_*.D.的帖子

表单的视图数据应该是类的实例...但是是一个(n)字符串

我目前收到以下错误:

"表单的视图数据应该是Symfony\Component\HttpFoundation\File\File类的实例,但是是一个(n)字符串.您可以通过将"data_class"选项设置为null或添加视图来避免此错误将(n)字符串转换为Symfony\Component\HttpFoundation\File\File的实例的转换器."

SoundController - 上传功能

 /**
 * @Security("is_granted('IS_AUTHENTICATED_FULLY')")
 * @Route("/song/upload", name="upload_song")
 * @param Request $request
 * @return \Symfony\Component\HttpFoundation\Response
 */
public function uploadSong(Request $request)
{
    $song = new Sound();

    $form = $this->createForm(SoundType::class, $song);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid())
    {
        $file = $song->getFile();
        $user = $this->getUser();

        $fileName = $this
            ->get('app.file_uploader')
            ->setDir($this->get('kernel')->getRootDir()."/../web".$this->getParameter('songs_directory'))
            ->upload($file);

        $song->setFile($fileName);

        $file = $song->getCoverFile();
        if ($file === null)
        {
            $song->setCoverFile($this->getParameter('default_cover'));
        }
        else
        {
            $fileName = $this
                ->get('app.file_uploader')
                ->setDir($this->get('kernel')->getRootDir()."/../web".$this->getParameter('covers_directory'))
                ->upload($file);

            $song->setCoverFile($fileName);
        }

        $song->setUploader($user);
        $song->setUploaderID($user->getId());
        $user->addSong($song);

        $entityManager = $this->getDoctrine()->getManager();
        $entityManager->persist($song);
        $entityManager->flush();

        return …
Run Code Online (Sandbox Code Playgroud)

php symfony data-class

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

data-class ×1

php ×1

symfony ×1