Je ne veux pas utiliser jQuery, mais j'aimerais utiliser Ajax pour le téléchargement de fichiers. Est-ce possible?Est-il possible d'utiliser Ajax pour télécharger des fichiers?
Si oui, où puis-je trouver des informations/tutoriel à ce sujet?
Je ne veux pas utiliser jQuery, mais j'aimerais utiliser Ajax pour le téléchargement de fichiers. Est-ce possible?Est-il possible d'utiliser Ajax pour télécharger des fichiers?
Si oui, où puis-je trouver des informations/tutoriel à ce sujet?
Non, ce n'est pas possible avec javascript. Pour donner le sentiment 'AJAX', cependant, vous pouvez soumettre un formulaire à un iframe caché et afficher les résultats du script, puis traiter à partir de là. Google ajax iframe upload
et commencer à partir de là.
Si vous utilisez jQuery, il y a également le Form plugin
qui créera automatiquement cette iframe si votre formulaire contient des champs de fichier. Je ne l'ai pas utilisé pour faire cela, mais j'ai entendu de bonnes choses.
Comme indiqué dans les commentaires, vous pouvez également utiliser quelque chose comme le très populaire SWFUpload
pour obtenir l'effet désiré avec Flash.
Je ne l'ai pas utilisé personnellement, mais Ajax Uploader est un composant que j'ai récemment découvert qui dit qu'il peut faire des téléchargements de fichiers dans un UpdatePanel (en supposant que vous utilisez ASP.NET).
est ici un peu de détails sur la façon dont gmail fait, en utilisant une iframe:
i utilise swfupload pour plusieurs ajouts comme ajax (le javascript/flash basé)
im, im juste un peu un stickler sur réinventer la roue et le faire moi-même, au moins la première fois. je sais que c'est idiot, mais im juste le type de personne qui a besoin de faire ça;) – johnnietheblack
Ce n'est pas idiot! en fait c'est génial. La seule façon d'apprendre. Et la partie amusante à apprendre. ;) –
strictement il est possible de faire real AJAX file uploads, mais cela n'est possible que dans Firefox 3+, Safari 4 et Chrome 2. Dans tous les autres navigateurs, vous devez utiliser une solution de contournement comme la technique iframe ou un uploader basé sur Flash.
En supposant que vous utilisez Java, DWR version 3.0 (actuellement en RC1) prend en charge le téléchargement/téléchargement de fichiers binaires, ce qui rend le problème très facile. Je n'ai pas encore eu l'occasion de l'essayer mais nous utilisons intensivement DWR avec un succès total; C'est une excellente boîte à outils Ajax.
http://directwebremoting.org/blog/joe/2008/12/16/dwr_version_3_0_release_candidate_1.html
Incase quelqu'un est de trouver cette question beaucoup plus tard: avec JavaScript oui cela est possible maintenant.
HTML5 a défini deux nouvelles API que vous utilisez ensemble pour accomplir ceci: l'API glisser-déposer et l'API de fichiers. Vous pouvez utiliser jQuery pour interagir avec les API, ce qui permet aux utilisateurs de faire glisser et déposer des fichiers à télécharger.
Voici a tutorial sur comment faire. Le code fonctionne actuellement dans Chrome 6+ et Firefox 3.6+, Safari 6 et IE 10. Si vous avez besoin de la prise en charge de Safari 5, le code reste presque le même mais vous utilisez l'objet FormData à la place pour la liste des fichiers téléchargés (plus d'informations dans le post). Opera prend en charge l'API de fichiers à partir de 11, mais pas l'API DnD, l'opération de suppression n'initiant pas le téléchargement, mais ils vous permettent d'accéder au fichier avec l'API. J'imagine en 12 qu'ils vont terminer le support de l'API DnD.
01-20-14 Mise à jour: Tous les principaux navigateurs implémentent maintenant toutes les API standard afin que ce tutoriel fonctionne dans tous les navigateurs.
Merci du futur. (2020) –
Cette [réponse] (http://stackoverflow.com/a/27602218/2835520) montre comment le faire sans jQuery – IgniteCoders