文件上传:数据库
文件上传首先须要有一个文件保存路径:服务器
String picturePath = request.getSession().getServletContext().getRealPath("/") + File.separator + "uploadFiles" + File.separator + "complain" + File.separator;
随后判断文件夹目录是否存在:编码
File file = new File(picturePath); if (!file.exists()) { file.mkdirs(); }
随后经过前台的<input type="file" name='file1'>的值获取到文件file1,再能够经过file1获取到文件名字、文件类型、保存到服务器的文件名:spa
String pictureName = file1.getOriginalFilename(); String fileType = pictureName.substring(pictureName.lastIndexOf(".") + 1); String filePath = System.currentTimeMillis() + "." + fileType;
而后就能够把你的路径+服务器中的文件名放到一个新建的File里面,最后保存文件就好了:code
File uploadFile = new File(picturePath + filePath); file1.transferTo(uploadFile);
而后你获取的各类信息就能够放到数据库里面了,这里就不说了。orm
文件的删除:blog
文件删除很简单,经过获取文件的路径+保存在服务的名字,最后delete一下就能把文件删除了:get
File deleteFile = new File(picturePath + filename); deleteFile.delete();
文件的下载:input
文件的下栽须要获取文件的路径以及文件在服务器的名称,最后通过一系列的编码问题来达到下载的问题:文件上传
String path = File.separator + "uploadFiles" + File.separator + "complain" + File.separator + (complainAccessory.getFileUrl()); String name = complainAccessory.getFileName(); String realPath = request.getSession().getServletContext().getRealPath(path); File file = new File(realPath); // boolean isok = file.exists(); HttpHeaders headers = new HttpHeaders(); String fileName = name; try { String userAgent = request.getHeader("User-Agent"); if (StringUtils.contains(userAgent, "MSIE") || (StringUtils.contains(userAgent, "Mozilla") && StringUtils.contains(userAgent, "rv:11"))) { boolean flage = false; if (fileName.indexOf(" ") > -1) { flage = true; } fileName = URLEncoder.encode(fileName, "UTF-8"); if (flage) { fileName = fileName.replace("+", " "); } } else if (StringUtils.contains(userAgent, "Mozilla")) { fileName = new String(fileName.getBytes(), "ISO8859-1"); } else { fileName = URLEncoder.encode(fileName, "UTF-8"); } // if("MSIE".equals(userAgent.toUpperCase())){ // fileName = URLEncoder.encode(fileName, "UTF-8"); // }else { // fileName = new String(name.getBytes("UTF-8"),"iso-8859-1"); // } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } headers.add("Content-Disposition", "attachment; filename=\"" + fileName + "\""); // headers.setContentDispositionFormData("attachment", fileName); // headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); byte[] bytes = null; try { bytes = FileUtils.readFileToByteArray(file); } catch (Exception e) { e.printStackTrace(); } return new ResponseEntity<byte[]>(bytes, headers, HttpStatus.OK);