IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Dropzone.js duplicate files


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Novembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Dropzone.js duplicate files
    Bonjour à tous,

    Je cherche de l'aide sur la bibliothèque dropzone.js. (fichier js en pièce jointe)

    J'ai beau parcourir la doc je n'arrive pas à trouver comment détecter les doublons de fichiers avec cette "dropzone". je cherche à checker côté serveur si le fichier existe déjà dans mon dossier et à générer un message d'erreur côté dropzone dans le cas où le fichier existe déjà côté serveur.

    Si quelqu'un à déjà travailler dessus je suis preneur de quelques conseils.


    côté vue voici mon code :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <div class="row">
                <div class="col-lg-4">
                </div>
                <div class="col-lg-4">
     
     
                    <div class="panel panel-default">
                        <div class="panel-heading">Sélectionner un fichier XLS, XLSX : </div>
                        <div class="panel-body">
                            <form class="dropzone my-dropzone" id="form_snippet_image" action="{{path('ajax_snippet_image_send')}}">
                            </form>
     
                    </div>
     
                </div>
                <div class="col-lg-4">
                </div>
            </div>
        <script>
     
                //je récupère l'action où sera traité l'upload en PHP
                var _actionToDropZone = $("#form_snippet_image").attr('action');
     
                //je définis ma zone de drop grâce à l'ID de ma div citée plus haut.
                Dropzone.autoDiscover = false;
                var myDropzone = new Dropzone("#form_snippet_image", { url: _actionToDropZone });
     
                myDropzone.on('addedfile', function(file) {
                   alert('un nouveau fichier uploadé !');
                });
     
        </script>

    côté contrôleur (Symfony3) voici ce que j'ai fais :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     /**
         *
         * @Method({"GET", "POST"})
         * @Route("/ajax/snippet/image/send", name="ajax_snippet_image_send")
         * @Security("has_role('ROLE_USER')")
         */
        public function ajaxSnippetImageSendAction(Request $request)
        {
            $finder = new Finder();
            $filesList = array();
            $finder->files()->in('uploads/files');
     
            foreach($finder as $file)
            {
                $filesList[] = $file->getRelativePathname();
            }
     
            $em = $this->container->get("doctrine.orm.default_entity_manager");
            $document = new Document();
            $media = $request->files->get('file');
            $nom_fichier = $media->getClientOriginalName();
     
            if (!in_array($nom_fichier, $filesList))
            {
                $document->setFile($media);
                $document->setPath($media->getPathName());
                $document->setName($nom_fichier);
                $document->setDateUpload(new \DateTime());
                $document->preUpload();
                $document->upload();
                $em->persist($document);
                $em->flush();
     
                //infos sur le document envoyé
             var_dump($request->files->get('file')) or die;
                return new JsonResponse(array('success' => true));
     
            }
            else
            {
               var_dump($request->files->get('file')) or die;
                return new JsonResponse(array('success'=> false, 'error' => true));
            }
        }


    Le problème est que visuellement l'utilisateur n'a pas de message il ne se passe rien. Cela fonctionne car cela n'importe pas le fichier une seconde fois sur mon serveur en revanche visuellement côté navigateur je ne comprends pas comment afficher un message d'erreur dans la dropzone. ( je comprends quasi rien à l'AJAX )

    L'idée est de pouvoir récupérer un message d'erreur qui serait interprétable par les fonctinnalités déjà existantes dans la dropzone.

    Est-ce faisable ?

    D'avance merci à tous pour votre aide.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. File Find et duplication de de nom.
    Par loula427 dans le forum Modules
    Réponses: 10
    Dernier message: 09/12/2010, 22h10
  2. duplicate file finder
    Par roll21 dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 20/01/2009, 21h58
  3. Message 'Duplicate index entry'
    Par Poulou dans le forum Administration
    Réponses: 13
    Dernier message: 04/05/2004, 14h57
  4. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    Réponses: 3
    Dernier message: 01/04/2003, 16h01
  5. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo