Loading

Quipoin Menu

Learn • Practice • Grow

spring / File Upload in Spring MVC
interview

Q1. How do you handle file upload in Spring MVC?
Configure MultipartResolver (e.g., CommonsMultipartResolver or StandardServletMultipartResolver). In controller, use @RequestParam("file") MultipartFile file. Example:
@PostMapping("/upload") public String handleUpload(@RequestParam MultipartFile file) { file.transferTo(new File("/tmp/" + file.getOriginalFilename())); return "success"; }

Q2. What is MultipartFile?
MultipartFile is an interface representing an uploaded file. It provides methods to get file name, size, content type, and to transfer to a file or get bytes. It's part of Spring's file upload support.

Q3. How do you configure max file size?
In Servlet 3.0, you can set multipart-config in web.xml or via MultipartConfigElement. In Spring Boot, set properties: spring.servlet.multipart.max-file-size, max-request-size. In XML config, you can set maxUploadSize on CommonsMultipartResolver.

Q4. How do you handle multiple file uploads?
Use @RequestParam with MultipartFile array or List. Example:
@PostMapping("/upload") public String uploadMultiple(@RequestParam MultipartFile[] files) { ... }

Q5. What is the difference between CommonsMultipartResolver and StandardServletMultipartResolver?
CommonsMultipartResolver uses Apache Commons FileUpload, while StandardServletMultipartResolver uses Servlet 3.0's built-in multipart support. The latter is preferred for Servlet 3.0+ containers. Both are configured with bean definitions.