spring-mvc的文件上传

来源:互联网 发布:大众汽车配件查询软件 编辑:程序博客网 时间:2024/05/17 22:26

一个新增用户的操作  附加文件上传

@RequestMapping(value = "/saveUser", method = RequestMethod.POST)public String savaUser(User user, HttpSession session,@RequestParam(value="idPicPath2" ,required=false) MultipartFile[] attach,HttpServletRequest request) {String idPicPath=null;//保存第一个文件名String workPath=null;//第二个文件名String relPath="statics"+File.separator+"uploadfiles";//取文件的相对路径  从/statics开始//循环传入的文件进行上传for (int i = 0; i < attach.length; i++) {if(attach[i]!=null){String path=request.getSession().getServletContext().getRealPath(relPath);//文件全名  String oldFileName=attach[i].getOriginalFilename();//源文件名String prefix=FilenameUtils.getExtension(oldFileName);//获得文件后缀int fileSize=500000;//上传文件的最大字节数if(attach[i].getSize()>fileSize){//文件太大request.setAttribute("uploadFileError", "文件太大");return "useradd";}else if(prefix.equalsIgnoreCase("jpg") ||//判断文件格式prefix.equalsIgnoreCase("png")){//修改文件名称  系统时间的毫秒数+生成一个随机数+统一后缀String fileName=System.currentTimeMillis()+RandomUtils.nextInt(10000)+"_Personal.jpg";logger.debug("new fileName======="+attach[i].getName());//创建文件流 判断文件是否存在,不存在创建文件File targetFile=new File(path,fileName); if(!targetFile.exists()){targetFile.mkdirs();}//保存try {//将传入的数据流写入到目标文件attach[i].transferTo(targetFile);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();request.setAttribute("uploadFileError", "上传失败");return "useradd";}if(i==0)idPicPath=relPath+File.separator+fileName;else if(i==1)workPath=relPath+File.separator+fileName;}else{request.setAttribute("uploadFileError", "文件格式不正确");return "useradd";}}}//判断文件是否为空System.out.println(workPath);System.out.println(idPicPath);user.setIdPicPath(idPicPath);user.setWorkPath(workPath);user.setCreatedBy(((User) (session.getAttribute(Constants.USER_SESSION))).getId());user.setCreationDate(new Date());if (userService.add(user)) {System.out.println("增加成功");return "redirect:/user/userList";}return "userAdd";}

控制台输出两个文件和上传后的文件名成 




原创粉丝点击