Wenn wir den Byte-Stream zum Implementieren des Datei-Uploads verwenden, ist die Codemenge groß und ineffizient, sodass SpringMVC uns eine eigene Methode zur Verfügung stellt.
SpringMVC stellt speziell die CommonMultipartResolver-Komponente zum Implementieren des Datei-Uploads bereit:
maxUploadSize Das maximale Dateilimit, die Einheit ist Byte
maxInMemorySize Dateien, die kleiner als diese Größe sind, werden vorübergehend im Speicher gespeichert
defaultEncoding Standardkodierung
Zum Beispiel so konfiguriert:
Bei der obigen Konfiguration muss die ID ein multipartResolver sein, damit das Hochladen gewährleistet ist. Sie können es nicht beliebig benennen
Dies liegt daran, dass die ID der Bean identisch sein muss, um ordnungsgemäß zu funktionieren.
Zu diesem Zeitpunkt beginnen wir mit der Konfiguration des Formulars. Wir müssen enctype="multipart/form-data" hinzufügen:
Dann denken Sie daran, zwei JAR-Pakete einzuführen:
commons-fileupload.jar
commens-io-1.4.jar
Dann beginnen wir mit dem Schreiben von Java-Code:
1. Ändern Sie zuerst die Anfrage in MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
2. Dann können Sie getFile verwenden, um die Datei abzurufen:
CommonsMultipartFile file = (CommonsMultipartFile)multipartRequest.getFile("file");
Diese Datei muss mit dem Wert des im Formular eingegebenen Namens übereinstimmen.
3. Verschieben Sie abschließend die Datei an die Zieladresse:
FileCopyUtil.cope(file.getByte(),uploadFile);
Die Oben ist der einzelne Datei-Upload dargestellt. Für das Hochladen mehrerer Dateien können Sie getFileMap() von MultipartHttpServletRequest verwenden, um alle von der Form
übergebenen Dateien abzurufen, und dann eine for-Schleife verwenden, um die Dateien nacheinander zu durchlaufen und hochzuladen:
Nachdem wir über das Hochladen von Dateien gesprochen haben, sprechen wir über das Herunterladen:
Das Herunterladen von Dateien erfolgt hauptsächlich in Form eines Byte-Streams. Es gibt drei wichtige Punkte:
1. Stellen Sie das Codierungsformat auf: text/html; charset=utf-8
2 Setzen Sie den Attributwert Content-disposition auf attachment; (Dateiname ist der Name der Client-Popup-Box-Datei)
3. Legen Sie das Kontextlängen-Attribut im Header fest, der Wert ist die Größe der Datei
Das Obige ist a kleines Beispiel.