2016-05-20 16 views
-1

Ich habe jsp Seite:Datei hochladen Spring MVC

<form method="get" action="/save" type="multipart/form-data"> 
    File to upload: <input type="file" name="file"><br /> 
    <input type="text" name="name"> 
    <input type="submit" value="Upload" /> 
</form> 

Wie kann ich hochladen Datei Spring MVC mit? Welchen Controller muss ich verwenden?

Ich versuche, etwas schreiben:

@RequestMapping(value ="/save", method = RequestMethod.GET) 
public String uploadDo(@RequestParam("file") MultipartFile file, 
            @RequestParam ("name") String name) { 

    return "success"; 
} 

Aber wie bekommen Daten aus der Datei, weiß ich nicht.

Hoffe, du wirst mir helfen.

+0

und jetzt bekomme ich Fehler: HTTP Status 500 - Anfrage Verarbeitung fehlgeschlagen; verschachtelte Ausnahme ist org.springframework.web.multipart.MultipartException: Die aktuelle Anfrage ist keine Multipart-Anfrage –

Antwort

0

Ok, als erstes:

Ändern Sie den RequestMethod.GET zu RequestMethod.POST. Sie machen einen POST Aufruf der /save.

Zweitens: Sie haben eine MultipartFile file als Parameter und auch in Ihrem JSP haben Sie eine name=file. Innerhalb Ihres Controllers können Sie Ihr file Objekt verwalten. Das Objekt file ist die tatsächliche Datei, die hochgeladen wird.

Denken Sie daran, dass Sie möglicherweise einige Änderungen in Spring Security vornehmen müssen, wenn Sie sie verwenden, und vielleicht auch in Ihren Spring-Konfigurationsdateien.

+0

Ja, ich kann Methode zu POST ändern. Aber wie kann ich Daten vom Dateiobjekt bekommen? –

+0

Sie können zum Beispiel 'file.getName()' oder 'file.getSize()', etc. verwenden. –