`

SpringMVC 4:文件上传和校验

 
阅读更多

 

 

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

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

配置静态资源

<mvc:resources location="/upload/" mapping="/upload/**"/>

 controller

	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"; // 重定向
	}

 

 校验,我在研究一下

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics