public void fileUploadForSpring(HttpServletRequest request, String uploadPath) throws IOException { File localFile = new File(uploadPath); // 如果当前文件夹不存在,那么就进行创建 if (!localFile.exists()) { localFile.mkdirs(); } //创建一个通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //判断 request 是否有文件上传,即多部分请求 if (multipartResolver.isMultipart(request)) { //转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; //取得request中的所有文件名 Iterator<String> iterator = multiRequest.getFileNames(); int index=0; while (iterator.hasNext()) { index++; //取得上传文件 MultipartFile file = multiRequest.getFile(iterator.next()); if (file != null) { //取得当前上传文件的文件名称 String myFileName = file.getOriginalFilename(); //如果名称不为“”,说明该文件存在,否则说明该文件不存在 if (!myFileName.trim().equals("")) { //截取图片名称 String endPath = myFileName.substring(0, myFileName.lastIndexOf('.')); //截取图片类型(后缀名) String type = myFileName.replace(endPath + ".", ""); //重命名上传后的文件名 String fileName = UUID.randomUUID().toString().trim().replace("-", "") + "." + type; //定义上传路径 String path = uploadPath + "/" + fileName; localFile = new File(path);
file.transferTo(localFile); } } } } }