BAEL - 326 - Add section about file upload with additional form data (#1105)

This commit is contained in:
Vivek Kumar 2017-02-10 18:13:32 +05:30 committed by Grzegorz Piwowarek
parent 22d26048b6
commit a04c421305
4 changed files with 150 additions and 0 deletions

View File

@ -0,0 +1,35 @@
package com.baeldung.model;
import org.springframework.web.multipart.MultipartFile;
public class FormDataWithFile {
private String name;
private String email;
private MultipartFile file;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public MultipartFile getFile() {
return file;
}
public void setFile(MultipartFile file) {
this.file = file;
}
}

View File

@ -2,11 +2,14 @@ package com.baeldung.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.baeldung.model.FormDataWithFile;
@Controller
public class FileUploadController {
@ -29,4 +32,21 @@ public class FileUploadController {
modelMap.addAttribute("files", files);
return "fileUploadView";
}
@RequestMapping(value = "/uploadFileWithAddtionalData", method = RequestMethod.POST)
public String submit(@RequestParam final MultipartFile file, @RequestParam final String name, @RequestParam final String email, final ModelMap modelMap) {
modelMap.addAttribute("name", name);
modelMap.addAttribute("email", email);
modelMap.addAttribute("file", file);
return "fileUploadView";
}
@RequestMapping(value = "/uploadFileModelAttribute", method = RequestMethod.POST)
public String submit(@ModelAttribute final FormDataWithFile formDataWithFile, final ModelMap modelMap) {
modelMap.addAttribute("formDataWithFile", formDataWithFile);
return "fileUploadView";
}
}

View File

@ -49,6 +49,58 @@
</table>
</form:form>
<br />
<h3>Fill the Form and Select a File (<code>@RequestParam</code>)</h3>
<form:form method="POST" action="/spring-mvc-java/uploadFileWithAddtionalData" enctype="multipart/form-data">
<table>
<tr>
<td>Name</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Select a file to upload</td>
<td><input type="file" name="file" /></td>
</tr>
<tr>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form:form>
<br />
<h3>Fill the Form and Select a File (<code>@ModelAttribute</code>)</h3>
<form:form method="POST" action="/spring-mvc-java/uploadFileModelAttribute" enctype="multipart/form-data">
<table>
<tr>
<td>Name</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Select a file to upload</td>
<td><input type="file" name="file" /></td>
</tr>
<tr>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form:form>
</body>

View File

@ -32,5 +32,48 @@
</tr>
</c:forEach>
</table>
<br />
<h2>Submitted File with Data (<code>@RequestParam</code>)</h2>
<table>
<tr>
<td>Name :</td>
<td>${name}</td>
</tr>
<tr>
<td>Email :</td>
<td>${email}</td>
</tr>
<tr>
<td>OriginalFileName :</td>
<td>${file.originalFilename}</td>
</tr>
<tr>
<td>Type :</td>
<td>${file.contentType}</td>
</tr>
</table>
<br />
<h2>Submitted File with Data (<code>@ModelAttribute</code>)</h2>
<table>
<tr>
<td>Name :</td>
<td>${formDataWithFile.name}</td>
</tr>
<tr>
<td>Email :</td>
<td>${formDataWithFile.email}</td>
</tr>
<tr>
<td>OriginalFileName :</td>
<td>${formDataWithFile.file.originalFilename}</td>
</tr>
<tr>
<td>Type :</td>
<td>${formDataWithFile.file.contentType}</td>
</tr>
</table>
</body>
</html>