Cet article décrit la méthode d'implémentation pour télécharger une barre de progression de fichiers dans Java. Partagez-le pour votre référence, comme suit:
La chose est très simple, utilisant principalement Commons-FileUpload, qui a une interface ProgressListener, qui peut réaliser une mise à jour en temps réel de la taille des fichiers téléchargés. Que puis-je dire d'autre avec ça?
Voici le code:
Package LC.Progress; Import Javax.servlet.http.httpservletRequest; Importer Javax.servlet.http.httpSession; Import lc.progress.vo.fileuploadstatu; import org.apache.commons.fileupload.progressListEner; Public Class MyProgressSistener implémine Prangistrener {private HTTTTERD; public myProgressListener (httpServLetRequest req) {session = req.getSession (); fileUploadStatus status = new FileUploadStatus (); session.setAttribute ("statut", statut); } / * PBYtesRead Le nombre de bits Lire des fichiers jusqu'à présent * PContentLength Total Taille de fichier * PITEMS Combien de fichiers sont actuellement lus * Il suffit d'enregistrer l'état du téléchargement de fichiers dans la session en temps réel (ici j'utilise la classe FileUploadTatus pour encapsulat) * / public void Update (Long PbytesRed, Long PontentSlengd Spotheng = (fileUploadStatus) session.getAttribute ("Status"); status.setpBytesRead (pBytesRead); status.setPContentLength (pcontentLength); status.setPitems (PITEMS); }}Ensuite, ajoutez un tel morceau de code au servlet ou à l'action de téléchargement, et vous pouvez ajouter le Progressistener personnalisé
myProgressListener getBarListener = new myProgressListener (req); servletFileUpload upload = new ServletFileupload (Factory); upload.setProgressListener (getBarListener);
Enfin, je peux utiliser JS pour accéder en continu un autre servlet pour revenir à l'état de téléchargement en temps réel. En raison des limitations de l'espace, je ne publierai plus de code. Les lecteurs intéressés peuvent le télécharger par eux-mêmes.
Cliquez ici pour télécharger l'exemple complet du code.
J'espère que cet article sera utile à la programmation Java de tous.