Pourquoi ne pas Blueimp de jQuery-File-Upload plugin feu rappels?
Je suis en train d'expérimenter avec Blueimp de jQuery-File-Upload plugin, qui à en juger par la démo semble très prometteur.
Il est vraiment facile à mettre en œuvre:
var $uploadButton = $("#fileop-upload");//<input type="file" id="fileop-upload" [etc] />
$uploadButton.fileupload({
url : "//domain/path/to/receive-uploaded-files"
});
Les fichiers sélectionnés sont téléchargés fine sans rafraichissement de la page comme prévu, mais bien sûr avec un minimum de configuration comme cela, l'utilisateur ne recevrez pas de notification. C'est ici que le plugin rappels seraient utiles.
Selon la documentation, il y a deux façons de définir des rappels. Par exemple, le add
événement (qui se déclenche lorsqu'un fichier est sélectionné pour le téléchargement) peut être ajouté dans la configuration d'origine de l'objet comme ceci:
$uploadButton.fileupload({
add : addFileListener,
url : "//domain/path/to/receive-uploaded-files"
});
ou alternativement:
$uploadButton.bind("fileuploadadd", addFileListener);
Cependant j'ai trouvé que la première approche fonctionne, le second ne rien faire.
Il est encore plus curieux qu'aucun autre rappels, surtout progress
et start
-- semble être de tir a pas d'importance comment j'associe:
$uploadButton.fileupload({
add : addFileListener,
progress : progressListener,
start : startListener,
url : "//domain/path/to/receive-uploaded-files"
});
ou
$uploadButton.fileupload({
add : addFileListener,
url : "//domain/path/to/receive-uploaded-files"
});
$uploadButton.bind("fileuploadprogress", progressListener");
$uploadButton.bind("fileuploadstart", startListener");
J'ai l'auditeur fonctions définies, et le code n'a pas de rapport d'erreurs ou d'avertissements.
Quelle est l'explication pour le .bind
méthode de l'échec, et pourquoi ne pas le progress
ou la start
auditeurs jamais activer?
Juste par curiosité, pouvez-vous confirmer ce que jQuery et uploader les versions que vous utilisez? Je suis en utilisant jQ 1.5.2 et la 4.4.2 version de téléchargement du plugin.
J'ai utilisé les plus récentes, fraîchement téléchargé les versions de jQuery et le téléchargement du plugin. De toute façon, j'ai déménagé loin de ce plugin pour le moment et ont développé une approche purement Fichier API basée sur la solution de (blog.new-bambou.co.royaume-uni/2010/7/30/html5-powered-ajax-fichier-télécharge) qui ne fonctionne qu'avec FF4+, Chrome et Safari, mais, heureusement, ce qui est acceptable pour mes besoins maintenant.
OriginalL'auteur Wabbitseason | 2011-06-08
Vous devez vous connecter pour publier un commentaire.
Je suis l'auteur de l'jQuery Téléchargement de Fichier plugin.
Je n'ai pas une explication de pourquoi le fileuploadadd événement dans votre troisième exemple de code n'est pas le feu.
Toutefois, si vous remplacez le ajouter l'option de rappel, vous devez vous assurer que le fichier de téléchargement est lancé par l'appel de la méthode submit sur les données de l'argument, comme expliqué dans la Les Options de la documentation pour le complément de rappel (et également documentée dans le code source du plugin).
par exemple, le code suivant doit imprimer les différents événements de rappel:
Note également que le plugin est modulaire et l'INTERFACE utilisateur de la version (utilisé dans l'exemple de téléchargement) permet d'utiliser des options de rappel qui serait remplacé par le code ci-dessus.
C'est pourquoi la liaison des événements est si utile, car il permet de définir d'autres méthodes de rappel sans écraser les rappels de jeu via les options de l'objet.
.bind('fileuploadsubmit', function (e, data) { console.log("fileuploadsubmit");
Cependant, il ne se déclenche pas...Si c'était quelque chose comme moi, assurez-vous que votre
<form>
tags englober vos contrôles, lainput
pour l'ajout de fichiers doit être contenue à l'intérieur de la forme. Sens quand je pense à ce sujet.Heureux d'avoir trouvé ce! Docs dire fileuploadadded (github.com/blueimp/jQuery-File-Upload/wiki/Options)
Une autre chose pour les googlers, les gestionnaires doivent être joints en annexe, après l'élément cible est rendu. À l'aide de
.bind()
ou.live()
ne fonctionne pas.Tscahan, merci de m'aider avec cette question (2ème fois que je demande de l'aide auprès de vous) stackoverflow.com/questions/50974530/...
OriginalL'auteur Sebastian Tschan
Cela n'a pas fonctionné pour moi.
Mais cela ne!
Mon premier sentiment est que, dans le premier cas, vous êtes de liaison de l'événement pour le formulaire d'entrée au lieu de la fileupload objet, et dans le second, en utilisant chainning vous êtes réellement en utilisant le fileupload objet, je suppose que la documentation est ambigu car il lit:
Et il faut lire
OriginalL'auteur Gabriel Acosta
Si le complément événement est défini, tous les processus de rappel ne se déclenche pas.
OriginalL'auteur user1032531
Au lieu de,
J'ai utilisé,
et il a travaillé pour moi.
OriginalL'auteur
Ne sais pas si cela résout votre problème ou pas, mais pour moi, le code suivant ne fonctionne pas (devrait fonctionner par la documentation:
Cependant, les ouvrages suivants:
OriginalL'auteur Param