@RequestMapping(value = "/download", method = RequestMethod.GET) public ResponseEntity downloadFile(@RequestParam("filename") String filename) { Document document = documentService.findDocumentByName(filename); // No file found based on the supplied filename if (document == null) { return new ResponseEntity<>("{}", HttpStatus.NOT_FOUND); } // Generate the http headers with the file properties HttpHeaders headers = new HttpHeaders(); headers.add("content-disposition", "attachment; filename=" + document.getName()); // Split the mimeType into primary and sub types String primaryType, subType; try { primaryType = document.getMimeType().split("/")[0]; subType = document.getMimeType().split("/")[1]; } catch (IndexOutOfBoundsException | NullPointerException ex) { return new ResponseEntity<>("{}", HttpStatus.INTERNAL_SERVER_ERROR); } headers.setContentType(new MediaType(primaryType, subType)); return new ResponseEntity<>(document.getContent(), headers, HttpStatus.OK); }
@RequestMapping( value = "/documents", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<List<Document>> listAllUsers() { List<Document> documents = documentService.findAll(); if (documents.isEmpty()) { // You many decide to return HttpStatus.NOT_FOUND return new ResponseEntity<List<Document>>(HttpStatus.NO_CONTENT); } return new ResponseEntity<List<Document>>(documents, HttpStatus.OK); }
@RequestMapping(value = "/savD", method = RequestMethod.POST) public ResponseEntity<Void> saveFile(@RequestParam("file") MultipartFile file) { if (!file.isEmpty()) { try { byte[] bytes = file.getBytes(); Document document = new Document(); document.setName(file.getOriginalFilename()); document.setContent(bytes); documentService.save(document); } catch (Exception e) { } } else { } HttpHeaders headers = new HttpHeaders(); return new ResponseEntity<Void>(headers, HttpStatus.CREATED); }
@RequestMapping(value = "/upload", method = RequestMethod.POST) public ResponseEntity uploadFile(MultipartHttpServletRequest request) { try { Iterator<String> itr = request.getFileNames(); while (itr.hasNext()) { String uploadedFile = itr.next(); MultipartFile file = request.getFile(uploadedFile); String mimeType = file.getContentType(); String filename = file.getOriginalFilename(); byte[] bytes = file.getBytes(); Document document = new Document(); document.setContent(bytes); document.setName(filename); document.setMimeType(mimeType); documentService.save(document); } } catch (Exception e) { return new ResponseEntity<>("{}", HttpStatus.INTERNAL_SERVER_ERROR); } return new ResponseEntity<>("{}", HttpStatus.OK); }