首页 > 学院 > 开发设计 > 正文

springmvc 文件上传

2019-11-14 08:55:09
字体:
来源:转载
供稿:网友
上传图片需求在修改用户信息界面添加上传用户头像功能sPRingmvc中对多部件类型解析在页面form中提交enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析。在springmvc.xml中配置multipart类型解析器。
	<!-- 文件上传 -->	<bean id="multipartResolver"		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">		<!-- 设置上传文件的最大尺寸为5MB -->		<property name="maxUploadSize">			<value>5242880</value>		</property>	</bean>添加jar包CommonsMultipartResolver解析器依赖commons-fileupload和commons-io,加入如下jar包:创建虚拟目录,存储图片在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:<Context docBase="F:/develop/upload/temp" path="/pic" reloadable="false"/>访问http://localhost:8080/pic即可访问F:/develop/upload/temp下的图片。也可以通过eclipse配置:注意:在图片虚拟目录中,一定将图片目录分级创建(提高i/o性能),一般我们采用按日期进行分级创建。图片上传jsp
<form id="itemForm"		action="${pageContext.request.contextPath }/user/editUserSubmit.action"		method="post" enctype="multipart/form-data">		<table width="100%" border=1>			<tr>				<td>头像</td>				<td><img alt="" src="/pics/${user.headphoto }"> <input					type="file" name="pictureFile" /></td>			</tr>			<tr>				<td colspan="2" align="center"><input type="submit" value="提交" />				</td>			</tr>		</table>	</form>Controller:
@RequestMapping("/editUserSubmit")	public String editUserSumit(Model model, Integer id,			@Validated(value = (ValidationGroup1.class)) UserCustom userCustom, 			BindingResult bindingResult,			MultipartFile pictureFile)			throws Exception {			// 原始文件名称			String pictureFile_name=pictureFile.getOriginalFilename();			// 新文件名称			String newPictureFile_name=UUID.randomUUID()+pictureFile_name.substring(pictureFile_name.lastIndexOf('.'));			// 上传图片			File uploadPic=new File("F://develop//upload//temp//"+newPictureFile_name);			// if(!uploadPic.exists()){			// uploadPic.mkdirs();			// }			// 向磁盘写入文件			pictureFile.transferTo(uploadPic);			// 如果上传成功,将新的文件名称写入			userCustom.setHeadphoto(newPictureFile_name);			usersservice.updateUser(id, userCustom);			// 重定向			return "redirect:queryUsers.action";	} 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表