Ich versuche, eine Funktion zum Hochladen von Bildern in meine Frühlings-MVC-Anwendung hinzuzufügen.
jsp teil:
...
<form method="POST" action="uploadImage" enctype="multipart/form-data">
<div class="load-line">
<input type="file" class="file"/>
<input type="submit" value="Upload">
...
aufbau:
...
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
...
regler:
@RequestMapping(value="/member/createCompany/uploadImage", method=RequestMethod.POST)
public @ResponseBody String handleFileUpload(
@RequestParam("file") MultipartFile file){
String name = "image_name";
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
BufferedOutputStream stream =
new BufferedOutputStream(new FileOutputStream(new File(name + "-uploaded")));
stream.write(bytes);
stream.close();
return "You successfully uploaded " + name + " into " + name + "-uploaded !";
} catch (Exception e) {
return "You failed to upload " + name + " => " + e.getMessage();
}
} else {
return "You failed to upload " + name + " because the file was empty.";
}
}
Nachdem ich ein Bild ausgewählt habe, klicke ich auf Hochladen und sehe eine Fehlermeldung:
HTTP Status 400 - Required MultipartFile parameter 'file' is not present
Was mache ich falsch?
Sie haben das name
-Attribut nicht angegeben. @RequestParam("textFile")
erfordert einen Namen,
<input type="file" class="file" name="textFile"/>
namensattribut zum Eingabe-Tag "file" hinzufügen
<input type="file" class="file" name="file"/>
Für diejenigen, die keine passende Lösung finden, vergessen Sie nicht, diese hinzuzufügen
spring.http.multipart.enabled=true
in Ihre Konfigurationsdatei