【问题标题】:How to upload music with Symfony 4如何使用 Symfony 4 上传音乐
【发布时间】:2020-12-05 07:54:59
【问题描述】:

首先,我为我的英语道歉......

我的音乐上传有问题。感谢 Symfony Doc,我找到了如何上传文件,并成功设置了我的图片上传。但是我发现我的音乐上传有问题,my dump in my controller indicates to me an error,and tells me that my file exceeds 2M,但在我的文件 php.ini 中,upload_max_filesize 定义为 256M。我上传音乐的代码和图片一样。

我的代码:

namespace App\Form;

use App\Entity\Artist;
use App\Entity\Category;
use App\Entity\Music;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints\File;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\FileType;

class MusicType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('title')
            ->add('description')
            ->add('picture', FileType::class, [
                'mapped' => false,
                'required' => false,
                'constraints' => [
                    new File([
                        'maxSize' => '8M',
                        'mimeTypes' => [
                            'image/jpeg',
                            'image/png',
                            'image/webp'
                        ]
                    ])
                ],
                'attr' => [
                    'accept'=>'.jpg, .jpeg, .png, .gif'
                ]
            ])
            ->add('music', FileType::class, [
                'mapped' => false,
                'constraints' => [
                    new File([
                        'maxSize' => '256M',
                        'mimeTypes' => [
                            'application/octet-stream',
                            'audio/mpeg',
                            'audio/mp3'
                        ]
                    ])
                ]
            ])

我一直在寻找解决方案,但所有结果都将我转回https://symfony.com/doc/current/reference/constraints/File.html#maxsize

如果你有想法,我很感兴趣。

【问题讨论】:

    标签: php file-upload symfony4


    【解决方案1】:

    首先你需要检查 php.ini 中的 post_max_size。

    upload_max_filesize 是任何单个文件的限制。 post_max_size 是整个请求体的限制,可以包含多个文件。

    确保 post_max_size >= upload_max_size

    查看之前的答案。

    PHP post_max_size overrides upload_max_filesize

    【讨论】:

    • 感谢您的回答。我检查了我的文件 php.ini,没关系。我认为问题在于 Symfony,因为当我只上传一张图片时,我没有像音乐这样的错误。
    • 没关系,我不明白必须在根 Symfony 项目中放置一个 php.ini 文件:)
    猜你喜欢
    • 2016-07-08
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    相关资源
    最近更新 更多