Primefaces Télécharger un fichier, Déposer un fichier en dehors de p: fileUpload n’importe où dans la page

Dans le téléchargement de fichiers primefaces, le composant FileUpload constitue lui-même la zone de repository. Je souhaite créer plusieurs zones de repository, par exemple si l’utilisateur supprime des fichiers sur toute autre div ou table, le composant de téléchargement de fichier Primefaces doit le choisir.

J’ai essayé de déclencher manuellement l’événement drop pour le composant de téléchargement de primefaces, mais cela ne fonctionne pas.

S’il vous plait, j’ai besoin de votre aide avec ceci. Merci d’avance!

Voici ce que j’ai essayé,

$('.otherdropzone').on( 'dragover', function(e) { e.preventDefault(); } ); $('.otherdropzone').on( 'dragenter', function(e) { e.preventDefault(); } ); $(".otherdropzone").on('drop', function(e){ e.preventDefault(); $(".fileupload-content").sortinggger('drop',e); // Primefaces dropzone cssclass }); 

Des actions similaires similaires en modifiant les arguments de la classe de zones de déclenchement et de suppression de Primefaces telles que .files et .ui-fileupload

Le truc, c’est que Primefaces a développé la fonctionnalité Fileupload basée sur le plugin ci-dessous.Ainsi, j’y ai commencé et je l’ai fait fonctionner dans primefaces

https://github.com/blueimp/jQuery-File-Upload/wiki/API

Donnez juste un id à la comme

  

et basé sur cela, il sera rendu en tant que HTML5 File Upload component in the browser .

Donc, le script sera

  $(window).load(function(){ $('#advancedupload').fileupload({ dropZone: $(document) }); }); 

Devrait être $(window).load() sinon il se plaint du composant non trouvé dans le DOM. C’est ça le truc.

Comme suggéré par SRy, vous pouvez personnaliser la zone de repository à l’aide de JavaScript. Garder en tete:

  1. Vous devez empêcher le comportement de glisser-déposer par défaut

    $ (document) .bind (‘drag dragover’, fonction (e) {e.preventDefault ();});

  2. Assurez-vous que votre composant est rendu. Dans mon cas, je montre la zone de glisser-déposer de téléchargement dans une boîte de dialog modale d’amorçage, qui n’apparaît pas au début. Ainsi, je n’appelle pas la fonction sur window#load . Je l’appelle lors de l’ouverture du dialog modal.