Bonjour,

J'utilise VichUploader pour mon app, et j'ai une page ou l'utilisateur doit renseigner 8 photos qu'il prend avec son iPhone mais l'upload est trèèèèès long.

J'ai VichUploader pour ma gestion d'image

Et j'ai Messenger de symfony déjà setup avec un serveur qui me permet d'envoyer n'importe quelles classes de service de manière Asynchrone.

if($step == 2) {
            // Create form upload img
            $form = $this->createForm(ContractVehiclePictureType::class, $contract->getResource());
            $form->handleRequest($request);

            // Submit
            //TODO: Optimise delay of upload
            // C'est ici que j'ai les 8 images qui send en même temps
            if($form->isSubmitted() && $form->isValid()) {
                //Update date
                $contract->setUpdateDate(new DateTime());

                // To DB
                $this->em->flush();

                //Incrementation of step vehicle
                return $this->redirectToRoute('admin_contract_start', [
                    'location' => $contract->getLocation()->getId(),
                    'contract' => $contract->getId(),
                    'step' => 3
                ]);
            }

            // Vehicle view render
            return $this->render('contract/start/new.html.twig', [
                'step' => $step,
                'contract' => $contract,
                'form' => $form->createView()
            ]);
        }

Mon Enqueue Method

public function enqueue(
        string $service,
        string $method,
        array $params = [],
        DateTimeInterface $date = null
    ): void
    {
        $stamps = [];
        // Le service doit être appelé avec un délai
        if(null !== $date) {
            $delay = 1000 * ($date->getTimestamp() - time());
            if($delay > 0) {
                $stamps[] = new DelayStamp($delay);
            }
        }
        $this->bus->dispatch(new ServiceMethodMessage($service, $method, $params), $stamps);
    }

Ce que je veux

C'est un système l'étape lors de l'inscription donc je souhaite que l'upload ce fasse Asynchrone pour que l'utilisateur ne soit pas ralenti.

De manière générale comment vous optimisez vos uploads d'images surtout avec des formats comme HEIC de Apple qui sont énorme

Aucune réponse