Springmvc实现文件上传

一. 前言

在SpringMVC中,我们是通过FileUpload组件来进行文件上传的。

二. 文件上传的步骤

SpringMVC中,为文件的上传提供了直接的支持,这种支持是使用可插拔的组件MultipartResolver实现的,SPring使用FileUpload实现了MultipartResolver接口,实现类名称叫做CommonsMultipartResolver,SpringMVC上下文中并没有默认装配MultipartResolver,因此默认情况是进行不了文件上传的,需要我们在SpringMVC上下文中配置MultipartResolver这个bean。

① 配置:

<!-- 配置multipartResolver -->
	  <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
	  	<property name="defaultEncoding" value="utf-8"></property>
	  	<property name="maxUploadSize" value="6000000"></property>
	  </bean>

② 添加jar包

commons-fileupload-1.2.1.jar

commons-io-2.0.jar

③ 编写文件上传的表单

<form action="${pageContext.request.contextPath }/testFileUpload" method="post" enctype="multipart/form-data">
	File1:<input type="file" name="file1"><br>
	Desc:<input type="text" name="desc"><br>
	<button>Test FileUpload</button>
</form>

④ 编写请求处理器

@Controller
public class FileUploadController {
@RequestMapping("testFileUpload")
public String testFileUpload(String desc,MultipartFile file1,HttpServletRequest request) throws IllegalStateException, IOException {
	
	File newFile1 = new File(request.getServletContext().getRealPath("/file")+File.separator+file1.getOriginalFilename());
	
	//将上传文件转换成一个新的文件
	file1.transferTo(newFile1);
	return "success";
}
}
小结

通过代码可以看出,相比于之前在学习JavaWeb进行原生开发时,同样是使用FileUpload进行文件上传,SpringMVC简化了很多操作。需要注意的是,要在SpringMVC配置文件中进行CommonsMultipartResolver(bean)的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值