Ci-dessus un exemple de boite de téléchargement avec les informations principales :
- Nom et taille du fichier
- Barre de progression pour le fichier en cours ou si une sauvegarde existe
- Status
- Retour des erreurs si contrôle des extensions ou taille, ou erreurs personnalisées générées côté serveur
- Information du temps restant pour les gros fichiers (qui prennent plus de 30 à 40 secondes pour être téléchargés)
- Affichage des vignettes des images
- Symbol de résultat en fin d'upload : rond vert si ok, rouge si arrêt ou erreur, orange si une sauvegarde a été effectuée
- Quantité sauvegardée si une sauvegarde existe pour un fichier dont le téléchargement a été interrompu*
- Information du nouveau nom du fichier si celui-ci a été renommé par le script php
- Affichage du nombre de fichiers téléchargés en fin d'upload
- Note d'information sur la récupération des sauvegardes si au moins une sauvegarde à été créée durand l'upload
- Supporte les comportements onclick et drag and drop. Mise en page compatible smartphones.
* La taille du fragment est ici définie à 8Mo. Les fichiers inférieurs à cette taille ne disposeront donc pas de sauvegarde. Notez que si vous faites des tests en local avec des petits fichiers, vous n'aurez pas le temps de stopper un fichier en cours d'upload pour tester la fonctionalité de reprise et les informations de sauvegarde. Charger un gros fichier pour faire le test.
Cet exemple montre comment se servir des fonctions javascript événementielles pour gérer l'affichage de la boite de téléchargement, et comment utiliser les objets retournés pour afficher un récapitulatif de l'upload avec la méthode "config.func_FormEnd()".
En cas de doublon sur le serveur (fichier de même nom déjà existant), les fichiers téléchargés seront automatiquement renommés côté php en ajoutant un identifiant unique. Voir le fichier "UploadAjaxABCI_Custom_VerifFileExist.php" pour d'autres possibilités.
Plus d'informations dans le code source de cette page et dans les autres fichiers d'exemples.
Important : cet exemple accepte toutes les fichiers. Le contrôle des extensions est indispensable si votre formulaire est destiné à un espace non protégé. Voir l'exemple
UploadAjaxABCI_Basique_Controle pour plus d'informations sur la sécurité des fichiers et des scripts.