Upload d'image très long / VichUploader en Async/Messenger

Par Yann9111, il y a 4 ans


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