文件上傳:數據庫
文件上傳首先須要有一個文件保存路徑:服務器
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);