文件上传,配置文件上传解析器
<!-- 文件上传解析器 上传最大尺寸: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"; // 重定向
}
校验,我在研究一下