如何在symfony中处理文件上载?

如何在symfony中处理文件上载?,symfony,Symfony,我试图上传不同类型的文件在symfony $uploadedFile = $request->files->get('image'); 非常适合处理图像,但是我无法将其用于不同的文件 $uploadedFile = $request->files->get('file'); dd($uploadedFile); 无论我用这个发送什么,dd方法都显示null。 如何上载文件,例如PDF、docx等(与图像不同) 我在前端使用vue。您应该使用createForm。 因

我试图上传不同类型的文件在symfony

$uploadedFile = $request->files->get('image');
非常适合处理图像,但是我无法将其用于不同的文件

$uploadedFile = $request->files->get('file');
dd($uploadedFile);
无论我用这个发送什么,dd方法都显示null。 如何上载文件,例如PDF、docx等(与图像不同) 我在前端使用vue。

您应该使用createForm。


因为基于$uploadedFile变量,您的目标仅为“image”的文件类型。您可以在这里查看上传文件的官方文件
 $form = $this->createForm(ProductType::class, $product);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            /** @var UploadedFile $brochureFile */
            $brochureFile = $form->get('brochure')->getData();

            // this condition is needed because the 'brochure' field is not required
            // so the PDF file must be processed only when a file is uploaded
            if ($brochureFile) {
                $originalFilename = pathinfo($brochureFile->getClientOriginalName(), PATHINFO_FILENAME);
                // this is needed to safely include the file name as part of the URL
                $safeFilename = transliterator_transliterate('Any-Latin; Latin-ASCII; [^A-Za-z0-9_] remove; Lower()', $originalFilename);
                $newFilename = $safeFilename.'-'.uniqid().'.'.$brochureFile->guessExtension();

                // Move the file to the directory where brochures are stored
                try {
                    $brochureFile->move(
                        $this->getParameter('brochures_directory'),
                        $newFilename
                    );
                } catch (FileException $e) {
                    // ... handle exception if something happens during file upload
                }

                // updates the 'brochureFilename' property to store the PDF file name
                // instead of its contents
                $product->setBrochureFilename($newFilename);
            }