suchen
HeimWeb-FrontendH5-TutorialImplementierung der asynchronen Upload-Funktion für HTML5-Dateien

In diesem Artikel wird kurz die Verwendung von FormData zum Implementieren des asynchronen Hochladens von Dateien vorgestellt. Der Code ist einfach und leicht zu verstehen, sehr gut und hat einen Referenzwert Ich muss darauf verweisen

1 Einführung

Die Entwicklung einer Datei-Upload-Funktion ist nie eine angenehme Sache, insbesondere der asynchrone Upload, den ich verwendet habe Iframe- und Flash-Upload-Lösungen fühlten sich ebenfalls sehr umständlich an. In diesem Artikel wird kurz die Verwendung von FormData von HTML5 zum Implementieren des asynchronen Hochladens von Dateien vorgestellt. Außerdem können Upload-Fortschrittsbalken und die Überprüfung der Dateigröße implementiert werden. Der Server verwendet zur Verarbeitung die SpringMVC-Lösung.

2 HTML-Code


<form id="myForm">
    <input type="file" id="u_photo" name="u_photo" />
    <input type="button" id="submit-btn" value="上传" />
</form>

3 JQuery-Upload


$("#submit-btn").on(&#39;click&#39;, function() {
    $.ajax({
        url:"/test/upload",
        type:"post",
        data:new FormData($("#myForm").get(0)),
        //十分重要,不能省略
        cache: false,
        processData: false,
        contentType: false,
        success: function () {
            alert("上传成功!");
        }
    });
});

4 JQuery-Dateigrößenüberprüfung

Dateigröße und entsprechendes Verhalten Die Steuerung muss nach Bedarf von Ihnen selbst durchgeführt werden. Diese Methode ist nur eine Beispielmethode.


$(&#39;#u_photo&#39;).on(&#39;change&#39;, function() {
    var file = this.files[0];
    if (file.size > 1024*1000) {
        alert(&#39;文件最大1M!&#39;)
    }
});

5 JQuery-Fortschrittsbalken

Fügen Sie xhr zur Ajax-Methode hinzu, um den Upload zu steuern Fortschritt, der Fortschrittsbalken kann den Fortschritt von HTML5 oder andere Fortschrittsbalken verwenden. Das Anzeigen und Ausblenden des Fortschrittsbalkens muss von Ihnen selbst durchgeführt werden. Diese Methode führt nur kurz in die grundlegende Steuerung des Fortschrittsbalkens ein.


xhr: function() {
    var myXhr = $.ajaxSettings.xhr();
    if (myXhr.upload) {
        myXhr.upload.addEventListener(&#39;progress&#39;, function(e) {
            if (e.lengthComputable) {
                $(&#39;progress&#39;).attr({
                    value: e.loaded,
                    max: e.total,
                });
            }
        } , false);
    }
    return myXhr;
}

6 SpringMVC-Server

6.1 Maven-Abhängigkeit


<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.2</version>
</dependency>

6.2 servlet-context.xml


<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

6.3 Controller

Beispielprogramm stellt nicht den entsprechenden Code für die Dateiüberprüfung, -speicherung und -verarbeitung bereit.


@RequestMapping(value="/test/upload",method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("u_photo") MultipartFile u_photo) {
    System.out.println("u_photo="+u_photo.getSize());
    return "ok";
}

7 Kompatibilität

IE 10+, Firefox 4.0+, Chrome 7+, Safari 5+, Opera 12+

8 Empfohlene Lektüre

Wenn Sie mit der oben genannten Lösung nicht zufrieden sind, wird empfohlen, die zu verwenden Folgende Lösung:

JQuery File Uploader

Das obige ist der detaillierte Inhalt vonImplementierung der asynchronen Upload-Funktion für HTML5-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
H5 -Code: Ein Anfängerhandbuch zur WebstrukturH5 -Code: Ein Anfängerhandbuch zur WebstrukturMay 08, 2025 am 12:15 AM

Zu den Methoden zum Erstellen einer Website in HTML5 gehören: 1. Semantische Tags, um die Webseitenstruktur zu definieren, z. B. usw.; 2. Einbetten Sie Multimedia -Inhalte, Verwendung und Tags ein; 3. Anwenden Sie fortschrittliche Funktionen wie die Formularüberprüfung und die lokale Speicherung an. In diesen Schritten können Sie eine moderne Webseite mit klarer Struktur und reichhaltigen Funktionen erstellen.

H5 -Codestruktur: Inhalte zur Lesbarkeit organisierenH5 -Codestruktur: Inhalte zur Lesbarkeit organisierenMay 07, 2025 am 12:06 AM

Eine vernünftige H5 -Codestruktur ermöglicht es der Seite, sich von vielen Inhalten abzuheben. 1) Verwenden Sie semantische Beschriftungen wie usw., um Inhalte zu organisieren, um die Struktur klar zu machen. 2) Steuern Sie den Rendering -Effekt von Seiten auf verschiedenen Geräten über CSS -Layout wie Flexbox oder Grid. 3) Responsive Design implementieren, um sicherzustellen, dass sich die Seite an verschiedene Bildschirmgrößen anpasst.

H5 gegen ältere HTML -Versionen: Ein VergleichH5 gegen ältere HTML -Versionen: Ein VergleichMay 06, 2025 am 12:09 AM

Die Hauptunterschiede zwischen HTML5 (H5) und älteren Versionen von HTML sind: 1) H5 semantische Tags einführt, 2) unterstützt Multimedia -Inhalte und 3) liefert Offline -Speicherfunktionen. H5 verbessert die Funktionalität und Ausdruckskraft von Webseiten durch neue Tags und APIs, wie z.

H5 gegen HTML5: Klärung der Terminologie und BeziehungH5 gegen HTML5: Klärung der Terminologie und BeziehungMay 05, 2025 am 12:02 AM

Der Unterschied zwischen H5 und HTML5 lautet: 1) HTML5 ist ein Webseitenstandard, der Struktur und Inhalt definiert. 2) H5 ist eine mobile Webanwendung, die auf HTML5 basiert und für schnelle Entwicklung und Marketing geeignet ist.

HTML5 -Funktionen: Der Kern von H5HTML5 -Funktionen: Der Kern von H5May 04, 2025 am 12:05 AM

Die Kernmerkmale von HTML5 sind semantische Tags, Multimedia -Support, Form -Verbesserung, Offline -Speicher und lokaler Speicher. 1. Semantische Tags wie die Code -Lesbarkeit und SEO -Effekt verbessern. 2. Multimedia Support vereinfacht den Prozess der Einbettung von Medieninhalten durch und Tags. 3. Form -Verbesserung führt neue Eingangstypen und Überprüfungseigenschaften ein und vereinfacht die Formentwicklung. 4. Offline -Speicher und lokaler Speicher verbessern die Leistung der Webseiten und die Benutzererfahrung über ApplicationCache und LocalStorage.

H5: Erkundung der neuesten Version von HTMLH5: Erkundung der neuesten Version von HTMLMay 03, 2025 am 12:14 AM

Html5isamajorrevisionOfthehtmlStandardThatrevolutionizeswebdevelopmentByIntroducingNewsemanticelements und Kapabilität) iTenHancesCodereadability undseowithelemente -artig, und 2) html5 -zeitricher, interaktive Experien

Jenseits der Grundlagen: Fortgeschrittene Techniken im H5 -CodeJenseits der Grundlagen: Fortgeschrittene Techniken im H5 -CodeMay 02, 2025 am 12:03 AM

Erweiterte Tipps für H5 umfassen: 1. Verwenden Sie komplexe Grafiken zum Zeichnen, 2. Verwenden Sie Webworker, um die Leistung zu verbessern. Diese Tipps helfen Entwicklern dabei, dynamischere, interaktivere und effizientere Webanwendungen zu erstellen.

H5: Die Zukunft von Webinhalten und DesignH5: Die Zukunft von Webinhalten und DesignMay 01, 2025 am 12:12 AM

H5 (HTML5) verbessert Webinhalte und Design durch neue Elemente und APIs. 1) H5 verbessert das semantische Tagging und die Multimedia -Unterstützung. 2) Es führt Leinwand und SVG ein und bereichert das Webdesign. 3) H5 arbeitet durch Erweiterung der HTML -Funktionalität durch neue Tags und APIs. 4) Die grundlegende Nutzung beinhaltet das Erstellen von Grafiken, und die erweiterte Nutzung umfasst Webstorageapi. 5) Entwickler müssen auf die Browserkompatibilität und die Leistungsoptimierung achten.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools