SpringMVC 4:文件上传和校验

文件上传,配置文件上传解析器

Xml代码 复制代码  收藏代码
  1. <!-- 文件上传解析器  上传最大尺寸:10M(10485760)、id名称必须为:multipartResolver -->  
  2.     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
  3.         <property name="maxUploadSize" value="10485760"/>  
  4.     </bean>  

配置静态资源

Xml代码 复制代码  收藏代码
  1. <mvc:resources location="/upload/" mapping="/upload/**"/>  

 controller

Java代码 复制代码  收藏代码
  1. public String saveOrUpdate( Person p, BindingResult br, MultipartFile photo, HttpServletRequest request) throws IOException {  
  2.     if (!photo.isEmpty()) {  
  3.         ServletContext sc = request.getSession().getServletContext();  
  4.         String dir = sc.getRealPath("/upload/"); // 得到服务器真实路径  
  5.         String filename = photo.getOriginalFilename(); // 得到上传时的文件名  
  6.         String _extName = filename.substring(filename.indexOf(".")); // 扩展名  
  7.   
  8.         // filename = UUID.randomUUID().toString() + _extName; //图片名称定义为UUID,防止并发文件被覆盖的情况  
  9.         // filename = System.nanoTime() + _extName; //nanoTime数值  
  10.         filename = System.currentTimeMillis() + _extName; // currentTimeMillis数值  
  11.   
  12.         FileUtils.writeByteArrayToFile(new File(dir + "/" + filename), photo.getBytes()); // 写文件到服务器上  
  13.   
  14.         p.setPhotoPath("/upload/" + filename); // 设置图片路径  
  15.     }  
  16.   
  17.     personService.saveOrUpdate(p);  
  18.   
  19.     return "redirect:/person/listAll.action"// 重定向  
  20. }  
	public String saveOrUpdate( Person p, BindingResult br, MultipartFile photo, HttpServletRequest request) throws IOException {
		if (!photo.isEmpty()) {
			ServletContext sc = request.getSession().getServletContext();
			String dir = sc.getRealPath("/upload/"); // 得到服务器真实路径
			String filename = photo.getOriginalFilename(); // 得到上传时的文件名
			String _extName = filename.substring(filename.indexOf(".")); // 扩展名

			// filename = UUID.randomUUID().toString() + _extName; //图片名称定义为UUID,防止并发文件被覆盖的情况
			// filename = System.nanoTime() + _extName; //nanoTime数值
			filename = System.currentTimeMillis() + _extName; // currentTimeMillis数值

			FileUtils.writeByteArrayToFile(new File(dir + "/" + filename), photo.getBytes()); // 写文件到服务器上

			p.setPhotoPath("/upload/" + filename); // 设置图片路径
		}

		personService.saveOrUpdate(p);

		return "redirect:/person/listAll.action"; // 重定向
	}

 

 校验,我在研究一下

 获取【下载地址】  【新技术】现在最流行的java后台框架组合java springmvc mybaits mysql oracle html5 后台框架源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值