1. Go to this page and download the library: Download sbyaute/symfony-dropzone library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sbyaute / symfony-dropzone example snippets
public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options)
{
// fichiers is OneToMany
$builder->add('fichiers', DropzoneType::class, [
'class' => Fichier::class,
'maxFilesize' => 8, // Taille max du fichier en MB
'maxFiles' => 6, // Nb max de fichiers téléchargeables
'uploadHandler' => 'uploadHandler', // route pour le chargement
'removeHandler' => 'removeHandler', // route pour la suppression
'downloadHandler' => 'downloadHandler', // route pour le téléchargement
'previewsContainer' => true, // Si true, sort la previsu de la dropzone (pas d'image)
'choice_src' => 'src', // Champ de l'entité contenant le nom du fichier sur le serveur
'acceptedFiles' => '', // Liste des types de fichiers autorisés ('.zip, .doc, .xls')
'dictDefaultMessage' => 'Cliquez ou glissez/déposez vos fichiers ici ...',
'dictRemoveFileConfirmation' => 'Etes-vous sûr ?', // active la confirmation de suppression
'
/**
* @Route("/uploadhandler", name="uploadHandler")
*/
public function uploadhandler(Request $request, ImageUploader $uploader) {
$doc = $uploader->upload($request->files->get('file'));
$file = new File();
$file->setSrc($doc['src']);
...
$this->getDoctrine()->getManager()->persist($file);
$this->getDoctrine()->getManager()->flush();
return new JsonResponse($file);
}
/**
* @Route("/removeHandler/{id}", name="removeHandler")
*/
public function removeHandler(Request $request,File $file = null) {
$this->getDoctrine()->getManager()->remove($file);
$this->getDoctrine()->getManager()->flush();
return new JsonResponse(true);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.