-1

我不可能在 Symfony 5.1 中上传 .jpg 文件,我尝试了很多东西,如果我在 symfony 文档中搜索 mimtype 指南(https://www.iana.org/assignments/media-types/media-types.xhtml) ,不支持simple.jpg,所以我该怎么做呢?对于其他文件格式也可以。最后一次尝试:(我只想上传图片和pdf)

use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type;

use Symfony\Component\Validator\Constraints\File;
use Symfony\Component\Validator\Constraints\Image;

class CapebType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
         $builder
        ->add('name', FileType::class, [
            'label'=> 'Chargez ma carte carte Capeb',
            'required'   => true,
            'constraints' => [
                new File([
                    'maxSize' => '5M',
                    'mimeTypes' => [
                        'image/jpeg,', 'image/pjpeg', 'image/png', 'image/gif', 'image/jpg',
                        'application/pdf',
                        'application/x-pdf',
                    ],
                    'mimeTypesMessage' => 'Le fichier n\'est pas valide, assurez vous d\'avoir un fichier au format PDF, PNG, JPG, JPEG)',
                ]),
            ]
        ])
        ->add('submit', SubmitType::class, [
            'label'=> 'Envoyez ma carte CAPEB',
        ])
    ;
    }
4

1 回答 1

0

很简单,只需要添加 image/x

$builder
            ->add('name', FileType::class, [
                'label'=> 'Chargez ma carte carte Capeb',
                'required'   => true,
                'constraints' => [
                    new File([
                        'maxSize' => '5M',
                        'mimeTypes' => [
                            'image/*',
                            'application/pdf',
                            'application/x-pdf',
                        ],
                        'mimeTypesMessage' => 'Le fichier n\'est pas valide, assurez vous d\'avoir un fichier au format PDF, PNG, JPG, JPEG)',
                    ]),
                ]
            ])
            ->add('submit', SubmitType::class, [
                'label'=> 'Envoyez ma carte CAPEB',
            ])
        ;
于 2021-02-09T10:34:09.420 回答