1

我正在使用 Symfony 3.1 尝试将多个文件附加到一个表单。

到目前为止,我可以为每个文件上传文件、创建一个实体并存储在数据库中。将 OneupUploaderBundle 与 FineUploader 一起使用。

问题是这些文件没有附加到我的其余表单数据中。

<?php

namespace AppBundle\EventListener;

use Doctrine\ORM\EntityManager;
use Oneup\UploaderBundle\Event\PostPersistEvent;
use AppBundle\Entity\AppointmentFile;

class AppointmentUploadListener
{
    protected $manager;

    public function __construct(EntityManager $manager)
    {
        $this->manager = $manager;
    }

    public function onUpload(PostPersistEvent $event)
    {
        dump($event);
        die();
        $file = $event->getFile();

        $object = new AppointmentFile();
        $object->setFilename($file->getPathName());

        $this->manager->persist($object);
        $this->manager->flush();
    }
}

我尝试将我的表单序列化添加到上传参数,但如果我有 3 个文件,它将上传我的表单数据 3 次。

var uploader = new qq.FineUploader({
    element: document.getElementById('fine-uploader'),
    debug: true,
    form: 'newAppointmentForm',

    request: {
        endpoint: "{{ oneup_uploader_endpoint('appointment') }}",
        params: {
            appointment: $('#newAppointmentForm').serialize()
        },
    }
});

主要目的是存储带有附件的约会。因此,实体是 Appointment(列:约会数据和文件的数组集合)和 AppointmentFile(列:id、文件名和 mime/type)。

欢迎任何建议。

4

0 回答 0