SpringMVC实现 MultipartFile 文件上传

1. Maven 工程引入所需要的依赖包

2. 页面需要开放多媒体标签

3. 配置文件上传试图解析器

4. 接收图片信息,通过 IO 流写入磁盘(调用解析其中的方法即可)

如下:

  1.1 引入所依赖的jar包

 <dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.4</version>
</dependency>
<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3.</version>
</dependency>

  2.1 页面需要开放多媒体标签

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>上传多个文件 实例</h2>
<form action="/upload/filesUpload" method="post" enctype="multipart/form-data">
<p>选择文件:<input type="file" name="files"></p>
<p>选择文件:<input type="file" name="files"></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>

  3.1 配置文件上传试图解析器

 <!-- 多部分文件上传 -->
<!--id的名字只能为multipartResolver-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--配置编码格式-->
<property name="defaultEncoding" value="utf-8"></property>
<!--配置文件上传大小-->
<property name="maxUploadSize" value=""></property>
<property name="maxInMemorySize" value=""></property>
</bean>

  4.1 编写controller,实现文件上传

@Controller
public class FileController { //实现了文件上传入门案例
@RequestMapping("/file")
//MultipartFile 解析器参数
public String file(MultipartFile fileImage) throws IllegalStateException, IOException{
/*
* 公共接口MultipartFile
扩展了InputStreamSource
在多部分请求中接收的上载文件的表示。
文件内容存储在内存中或临时存储在磁盘上。
在任何一种情况下,如果需要,用户负责将文件内容复制到会话级或持久性存储。
临时存储将在请求处理结束时清除。
*/ //创建fileDir对象,"E:/jt-upload"这个内容可以是文件也可以是文件夹
File fileDir = new File("E:/jt-upload");
//1.判断文件夹是否存在
if(!fileDir.exists()){
//不存在的话,创建文件夹
fileDir.mkdirs();
} //fileImage.getOriginalFilename() 获取文件名字
String fileName = fileImage.getOriginalFilename(); //实现文件的上传
fileImage.transferTo(new File("E:/jt-upload/"+fileName)); //适用重定向技术
return "redirect;/file.jsp";
//z转发
// return "forword:/file.jsp";
} }
上一篇:关于SqlServer2008小记(查询数据库连接数,强行干掉连接)


下一篇:Webpack简易入门教程