Lưu trữ trong đĩa và lưu trữ trong MySQL có những điều cần lưu ý. Tại đây là một cuộc thảo luận tốt về nó.
Để lưu trữ nó trong hệ thống tệp, bạn có thể sử dụng Tải lên tệp của Commons . Đây là một mẫu
pom.xml
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${release.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${release.version}</version>
</dependency>
JSP
<h2>Spring MVC file upload example</h2>
<form method="POST" action="<c:url value='/upload' />"
enctype="multipart/form-data">
Please select a file to upload : <input type="file" name="file" />
<input type="submit" value="upload" />
</form>
Bộ điều khiển
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String handleFormUpload(
@RequestParam("file") MultipartFile file) throws IOException{
if (!file.isEmpty()) {
BufferedImage src = ImageIO.read(new ByteArrayInputStream(file.getBytes()));
File destination = new File("File directory with file name") // something like C:/Users/tom/Documents/nameBasedOnSomeId.png
ImageIO.write(src, "png", destination);
//Save the id you have used to create the file name in the DB. You can retrieve the image in future with the ID.
}
}
Và xác định điều này trong ngữ cảnh ứng dụng của bạn
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
Tôi hy vọng điều này sẽ hữu ích.