/* @RequestMapping(value = "/uploadfile.html", method = RequestMethod.GET) public String uploadFile(){ return "uploadfile"; } */ @RequestMapping(value = "/uploadfile.html", method = RequestMethod.POST) public String processUploadPreview( @RequestParam("file") MultipartFile file, @RequestParam("id") Integer recordId, Map<String, Object> respMap) { Record record = recordService.getRecord(recordId); respMap.put("record", record); if (record == null) { // respMap.put("errMesg", "Incorect or not available record"); return "redirect:records.html"; } respMap.put("id", recordId); if (file.getSize() > 5242880) { respMap.put("errMesg", "Max file size 5MB"); return "redirect:editrecord.html"; } if (file.getName().equals("")) { respMap.put("errMesg", "File not selected"); return "redirect:editrecord.html"; } File newFile = new File(); newFile.setRecord(record); newFile.setFilename(file.getOriginalFilename()); newFile.setType(file.getName()); try { newFile.setFile(file.getBytes()); fileService.addFilele(newFile); } catch (Exception e) { respMap.put("errMesg", "Server error"); e.printStackTrace(); return "redirect:editrecord.html"; } return "redirect:editrecord.html"; }
@RequestMapping(value = "/getfile") public String dovnloadFile(@RequestParam("id") Integer fileId, HttpServletResponse response) { File file = null; try { file = fileService.getFile(fileId); } catch (HibernateException e) { } if (file != null) { if ((getCurrentUser().equals(file.getRecord().getUser())) || file.getRecord().getAccess().getId() == 2) { response.setContentType(file.getType()); response.setContentLength(file.getFile().length); response.setHeader( "Content-Disposition", "attachment; filename=\"" + file.getFilename() + "\""); try { FileCopyUtils.copy(file.getFile(), response.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } } } return null; }