SpringMVC 4:文件上传和校验

文件上传,配置文件上传解析器
Xml代码  
<!-- 文件上传解析器  上传最大尺寸:10M(10485760)、id名称必须为:multipartResolver -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <property name="maxUploadSize" value="10485760"/>  
    </bean>  
<!-- 文件上传解析器  上传最大尺寸:10M(10485760)、id名称必须为:multipartResolver -->
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="maxUploadSize" value="10485760"/>
	</bean>
配置静态资源
Xml代码  
<mvc:resources location="/upload/" mapping="/upload/**"/>  
<mvc:resources location="/upload/" mapping="/upload/**"/>
 controller
Java代码  
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"; // 重定向  
}  
	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 后台框架源码

你可能感兴趣的:(springMVC,4)