php - 如何使用 Symfony 4 上传音乐
问题描述
首先,我为我的英语道歉...
我的音乐上传有问题。感谢 Symfony Doc,我发现如何上传文件并成功设置图片上传。但是我发现我的音乐上传有问题,我的控制器中的转储向我显示错误,并告诉我我的文件超过 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.ini 中的 post_max_size。
upload_max_filesize 是任何单个文件的限制。post_max_size 是整个请求体的限制,可以包括多个文件。
确保 post_max_size >= upload_max_size
请参阅有关此的先前答案。
推荐阅读
- postgresql - Postgresql 按计数查找,连接表
- css - 可以制作非常大的线性渐变吗?
- javascript - Rollup + Typescript:最终输出中的 lib/index.js 连接模块
- java - Hibernate Envers:org.hibernate.tool.schema.spi.SchemaManagementException:Schema-validation:在审计表中遇到错误的列类型
- java - Spring Data ExampleMatchers by Example 返回空数组
- java - 是否建议使用 aerospike 在某些字段上进行过滤
- reactjs - 如何使用 react 和 redux-thunk 在异步实体创建 (POST) 后刷新实体列表 (GET)
- python - 从 csv (Python) 读取数据的问题
- xaml - Xamarin.Forms Shell 在后面的代码中生成一个 Top Tapped Page
- unit-testing - (如何)您是否在单元测试中测试您的依赖项?