Dieses Mal werde ich Ihnen die Ajax-Implementierung des Datei-Uploads mit Fortschrittsbalkeneffekt vorstellen. Was sind die Vorsichtsmaßnahmen für die Ajax-Implementierung des Datei-Uploads mit Fortschrittsbalkeneffekt? Ein praktischer Fall.
1. Übersicht
Im eigentlichen Webanwendungs- oder Website-Entwicklungsprozess ist es oft notwendig, die Datei-Upload-Funktion zu implementieren. Während des Datei-Upload-Vorgangs müssen Benutzer häufig lange warten. Um Benutzer rechtzeitig über den Upload-Fortschritt zu informieren, kann beim Hochladen der Datei der Fortschrittsbalken für den Datei-Upload angezeigt werden. Führen Sie dieses Beispiel wie in Abbildung 1 gezeigt aus, greifen Sie auf die Datei-Upload-Seite zu, klicken Sie auf die Schaltfläche „Durchsuchen“, um die hochzuladende Datei auszuwählen. Beachten Sie, dass die Datei 50 MB nicht überschreiten darf, da das System sonst eine Fehlermeldung ausgibt. Nachdem Sie die hochzuladende Datei ausgewählt haben, klicken Sie auf die Schaltfläche „Senden“. Die Datei wird hochgeladen und der Upload-Fortschritt wird angezeigt.
2. Technische Punkte
Verwenden Sie hauptsächlich die Open-Source-Common-FileUpload-Komponente, um den segmentierten Datei-Upload zu realisieren, um den Upload-Prozess zu realisieren , und erhalten Sie kontinuierlich den Upload-Fortschritt. Die Common-FileUpload-Komponente wird im Folgenden ausführlich vorgestellt.
Die Common-FileUpload-Komponente ist ein Unterprojekt des Jakarta-Commons-Projekts der Apache-Organisation. Diese Komponente kann problemlos verschiedene Formularfelder in Anfragen vom Typ Multipart/Formulardaten analysieren. Diese Komponente erfordert Unterstützung von einer anderen Komponente namens Common-IO. Diese beiden Komponentenpaketdateien können von der Website http://commons.apache.org heruntergeladen werden.
(1) Erstellen Sie ein Upload-Objekt
Beim Implementieren des Datei-Uploads mithilfe der Common-FileUpload-Komponente müssen Sie ein Factory-Objekt erstellen und darauf basierend ein neues erstellen Das Factory-Objekt Datei-Upload-Objekt, der spezifische Code lautet wie folgt:
1 2 |
|
(2) Upload-Anfrage analysieren
Nachdem Sie ein Datei-Upload-Objekt erstellt haben, können Sie dies tun Verwenden Sie das Objekt, um den Upload zu analysieren. Die Anforderung zum Abrufen aller Formularelemente kann über die parseRequest()-Methode des Datei-Upload-Objekts erreicht werden. Die Syntaxstruktur der parseRequest()-Methode lautet wie folgt:
1 |
|
(3) FileItem-Klasse
In der Common-FileUpload-Komponente, ob es sich um eine handelt B. ein Dateifeld oder ein normales Formularfeld, werden als FileItem-Objekte behandelt. Wenn die Methode isFormField() des Objekts „true“ zurückgibt, bedeutet dies, dass es sich um ein gewöhnliches Formularfeld handelt, andernfalls handelt es sich um ein Dateifeld. Beim Implementieren des Datei-Uploads können Sie den Dateinamen der hochgeladenen Datei über die Methode getName() der Klasse FileItem und die Größe der hochgeladenen Datei über die Methode getSize() abrufen.
3. Spezifische Implementierung
(1) Erstellen Sie die request.js-Datei und schreiben Sie die AjaxAnfragemethode.
(2) Erstellen Sie eine neue Datei-Upload-Seite index.jsp, fügen Sie ein Formular und Formularelemente zum Abrufen der hochgeladenen Dateiinformationen hinzu und fügen Sie eine
-Beschriftung und einen Anzeigeprozentsatz für die Anzeige des Fortschrittsbalkens hinzu. span>-Tag, der Schlüsselcode lautet wie folgt:
1 |
|
Bitte wählen Sie die hochgeladene Datei aus:
Hinweis: Bitte kontrollieren Sie die Dateigröße innerhalb von 50 MB.
1 2 3 4 5 6 |
|
(3) Erstellen Sie eine neue Servlet-Implementierungsklasse UpLpad zum Hochladen von Dateien. Schreiben Sie die Methode uploadFile() in diese Klasse, um das Hochladen von Dateien zu implementieren. In dieser Methode wird die Common-FileUpload-Komponente verwendet, um Dateien in Abschnitten hochzuladen, den Upload-Prozentsatz zu berechnen und sie in Echtzeit in der Sitzung zu speichern wie folgt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
(4) Importieren Sie in der Datei-Upload-Seite index.jsp die Datei request.js der geschriebenen Ajax-Anforderungsmethode und schreiben Sie die Ajax-Anforderungsmethode und die Ajax--Rückruffunktion um den Upload-Fortschritt zu erhalten:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
(5) Schreiben Sie die Seite showProgress.jsp und wenden Sie den EL-Ausdruck auf dieser Seite an, um den Wert des Upload-Fortschritts auszugeben Der spezifische Code lautet wie folgt:
1 2 |
|
(6) Schreiben Sie die JavaScript-Methode, die vom Onclick-Ereignis der Formularübermittlungsschaltfläche aufgerufen wird des Fensterobjekts wird verwendet, um den Server in regelmäßigen Abständen anzufordern, um den neuesten Upload-Fortschritt zu erhalten. Der Schlüssel lautet wie folgt:
1 2 3 4 |
|
Ich glaube, Sie beherrschen die Methode Nachdem Sie den Fall in diesem Artikel gelesen haben, lesen Sie bitte andere verwandte Artikel auf der chinesischen PHP-Website.
Empfohlene Lektüre:
So verwenden Sie die Parameter der $.Ajax()-Methode
So fügen Sie XML-Dateien mit Ajax hinzu, löschen, ändern und überprüfen
Das obige ist der detaillierte Inhalt vonAjax implementiert das Hochladen von Dateien mit Fortschrittsbalkeneffekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!