文档章节

SpringMVC文件上传

晚餐吃什么
 晚餐吃什么
发布于 2017/03/29 18:45
字数 324
阅读 36
收藏 2

springmvc的文件上传

首先是jar包的导入,除了springmvc所属的jar包外,还需要导入commons-io-xxx.jar和commons.fileupload-xx.jar。

然后是springmvc.xml配置文件的 要注入一个类

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
			<!-- one of the properties available; the maximum file size in bytes --> 
			<!-- 最多可接收1MB大小的文件 -->
            <property name="maxUploadSize" value="1024*1024"/> 
	</bean>

表单代码

<div class="formDiv">
	<div class="uploader blue">
		<form id="form_2" action="${bP }upload/uploadHF.action" method="POST" enctype="multipart/form-data">
				<input type="text" class="filename" readonly="readonly"/>
				<input type="button" name="file" class="button" value="第二张轮换图"/>
				<input type="file"  size="30"  name="file" />
				<input type="hidden" name="hfIndex" value="2" />
		</form>
	</div>
<a herf="javascript:;" class="submitBtn" onclick="doSubmit('form_2')">上传</a>
</div>

后台java代码

@RequestMapping("uploadHF")  
	    public String filesUpload(int hfIndex,@RequestParam(value ="file",required = false) MultipartFile file,HttpServletRequest request)throws Exception {  
	    if(file==null){
	    	request.setAttribute("msg", "操作失败!");
			return "/JSP/admin/msg.jsp";
	    }
		String path = request.getSession().getServletContext().getRealPath("upload/hf");
		String fileName = file.getOriginalFilename();
		fileName = System.currentTimeMillis()+fileName.substring(fileName.lastIndexOf("."));
		File targetFile = new File(path,fileName);
		//保存
		try{
			file.transferTo(targetFile);
		}catch (Exception e) {
				e.printStackTrace();
		}
			
		// do something
		request.setAttribute("msg", "操作成功!");
		return "/JSP/admin/msg.jsp";
} 

代码到这里结束,可以正常上传。

注意要点:

jar包(commons-io,commons-fileupload等jar包)要导入(这里我就是忘记导入了,结果花了10多分钟才检查出来- -!)

配置文件要注入multipartResolver类

表单的enctype属性也要写成multipart/form-data和input的name对应属性字段要和@RequestParam的value一致

 

 

© 著作权归作者所有

共有 人打赏支持
晚餐吃什么
粉丝 0
博文 8
码字总数 2072
作品 0
珠海
程序员
私信 提问

暂无文章

jenkins安装

https://my.oschina.net/u/593517/blog/1797968 jenkins 安装 https://my.oschina.net/u/593517/blog/3028175 GIT 安装 https://my.oschina.net/u/593517/blog/3028179 maven 安装 插件安装 ......

Gm_ning
12分钟前
1
0
小言服务端解决方案-监控

框架保证方向,整体包容细节 为保证服务端运行平稳正常,owner应使得系统应保有相应的监控:系统监控,业务监控。而服务运行的平稳高效是否有保障跟监控粒度又成直接的正比关系。本文仅针对开...

重城重楼
24分钟前
0
0
搜索引擎(Elasticsearch搜索详解)

学完本课题,你应达成如下目标: 掌握ES搜索API的规则、用法。 掌握各种查询用法 搜索API 搜索API 端点地址 GET /twitter/_search?q=user:kimchy GET /twitter/tweet,user/_search?q=user:...

这很耳东先生
47分钟前
7
0
浅谈如何减少GC的次数

GC会stop the world。会暂停程序的执行,带来延迟的代价。所以在开发中,我们不希望GC的次数过多。 本文将讨论如何在开发中改善各种细节,从而减少GC的次数。 (1)对象不用时最好显式置为 Nu...

浮躁的码农
49分钟前
1
0
jpa 自定义返回对象

任何ORM框架都少不了开放自定义sql的问题。jpa自然也不例外,很多场景需要写复杂sql的。 首先定义一个方法签名,然后打上@Query注解。像下面这样,需要注意nativeQuery,这个表示query中的字...

朝如青丝暮成雪
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部