我是靠谱客的博主 忧心纸飞机,最近开发中收集的这篇文章主要介绍使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
springMVC提供的前端控制器,可以拦截所有请求,指挥调度所有后台逻辑资源。
使用传统方式进行文件上传,需要我们手动解析request对象,获取文件上传项,再进行文件的上传。
springMVC框架可以帮助我们完成对象解析的工作,这大大简化了开发人员文件上传逻辑的编写。
首先,我们需要在springmvc.xml配置文件中配置文件解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10485760"></property>
</bean>
接着,编写前端代码
enctype="multipart/form-data"
不能省略,并且input
标签的name
属性也是必要的。
<form action="file/doSpringMvcFileUpload" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="fileUpload"/>
<br/>
<input type="submit" value="上传"/>
</form>
最后,编写控制器逻辑
@RequestMapping("/doSpringMvcFileUpload")
public String doSpringMvcFileUpload(HttpServletRequest request,MultipartFile fileUpload) throws Exception {
//文件上传路径
String path = request.getSession().getServletContext().getRealPath("/uploads");
File file = new File(path);
if(!file.exists()){
file.mkdirs();
}
String fileName = fileUpload.getOriginalFilename();
String uuid = UUID.randomUUID().toString();
fileName = uuid + "-" + fileName;
fileUpload.transferTo(new File(path,fileName));
return "uploadSuccess";
}
整个代码会比使用commons-fileupload
实现更简单,文件解析器配置时,还可以指定文件上传的默认地址。值得注意的是,再控制器方法中的MultipartFile fileUpload
参数的参数名,必须与前端页面的name
值一致,否则,会导致执行错误,文件上传失败。
最后
以上就是忧心纸飞机为你收集整理的使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传的全部内容,希望文章能够帮你解决使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复