一、相关配置
框架应该已经搭建好了,所以这里不再复述。在ssm框架的基础上配置下面的内容。
1.pom.xml的配置
<properties>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<commons-io.version>2.4</commons-io.version>
</properties>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
</dependency>
2.spring-mvc.xml中的配置
<!-- 定义文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 设定文件上传的最大值5MB,5*1024*1024 -->
<property name="maxUploadSize" value="5242880" />
<property name="maxInMemorySize" value="4096" />
</bean>
二、上传的实现
1.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>上传页面</title>
</head>
<body>
<form method="post" action="file/upload" enctype="multipart/form-data">
<p><span>文件:</span>
<input type="file" name="file">
</p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>
代码:
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.UUID;
@Controller
@RequestMapping("/file")
public class FileUpload{
@RequestMapping("/upload")
public void upload(@RequestParam("file")MultipartFile file, HttpServletRequest request,
HttpServletResponse response, ModelMap model) throws Exception {
//获取原始文件名
String fileName=file.getOriginalFilename