Articles associés au tag ‘chargement’

Utilisation de Flash pour suivre le chargement (upload) d’un fichier avec Ajax et PHP


2009
31.01

Étant donné qu’il n’est pas possible d’installer l’extension APC sur certaines configurations serveur (hébergement dédié ou gratuit par exemple), la seule possibilité pour afficher la progression du chargement reste dans ce cas là de recourir à un applet (flash, java…).

L’inconvénient d’un applet est qu’il nécessite des connaissances en java ou actionscript pour flash (en plus du logiciel payant dans ce dernier cas).

Toutefois, il existe plusieurs solutions gratuites qui permettent des upload multiples en flash :

  • Nas Uploader (http://www.nasuploader.com) : C’est certainement le plus simple mais aussi le moins souple côté configuration. Du coup, il est très bien adapté pour celui qui veut une solution simple et rapide.
  • SWF Upload (http://swfupload.org) : C’est peut-être le plus connu. Il est entièrement paramétrable ce qui le rend également difficile à prendre en main.
  • Fancy Upload (http://digitarald.de/project/fancyupload) : Le plus esthétique à mon sens. Son seul « défaut » est de s’appuyer sur le framework javascript Mootools pour fonctionner ce qui peut poser des problèmes si vous en utilisez un autre (par exemple prototype ;-)

Côté serveur, le script PHP n’a rien de révolutionnaire puisque le traitement du fichier chargé reste identique.

  • Share/Bookmark

Chargement de fichier (upload) en ajax


2009
17.01

Comme beaucoup découvrant Ajax, je m’enthousiasmais à l’idée de soumettre des formulaires tout en évitant des rechargements de page laborieux.

Je ne reviendrais pas ici sur ce qu’est Ajax, on en trouvera une excellente explication sur Wikipédia. Clavier faisant, je soumettais requête sur requête jusqu’à buter sur un os, un gros os.

Tout marchait à merveille à l’exception notable de l’upload de fichier vers un serveur. La raison ?

L’objet XMLHttpRequest, utilisé par Ajax pour échanger avec le serveur, ne gère pas les données binaires. Plus simplement, impossible de soumettre directement le fichier avec un formulaire prévu pour le transfert de fichier grâce à enctype=”multipart/form-data”.

Il n’y aucune parade pour l’instant en la forme actuelle de l’objet XMLHttpRequest à part simuler une absence de rechargement de la page.

Faute de grives, on se contente de merles et quelques expédients sont possibles. La plupart sont listés sur ce blog.

La solution avec un iframe masqué a ma préférence car c’est la plus portable. Les vrais soucis commencent quand on veut afficher la progression du chargement.

Pour plus de renseignements :

  • Share/Bookmark