@RequestMapping("/eliminar/{idArchivo}") public ModelAndView eliminarArchivo(@PathVariable BigDecimal idArchivo) { Archivo arch = genericDAO.get(Archivo.class, idArchivo); ModelAndView mav = new ModelAndView("redirect:/app/archivo/" + arch.getIdArchivo()); genericDAO.delete(Archivo.class, idArchivo); return mav; }
@RequestMapping("/abrir/{idArchivo}") public void abrirArchivo(@PathVariable BigDecimal idArchivo, HttpServletResponse response) throws IOException { Archivo archivo = genericDAO.get(Archivo.class, idArchivo); byte[] fichero = archivo.getArchivo(); response.setHeader("Content-type", archivo.getMime()); response.setHeader( "Content-Disposition", "attachment; filename=\"archivo." + archivo.getExtension() + "\""); PrintStream pout = new PrintStream(response.getOutputStream()); pout.write(fichero); }
@RequestMapping("/subir/{idESDocumento}") public ModelAndView subir( @PathVariable BigDecimal idESDocumento, @SessionParam Usuario usuario, Archivo archivo, @RequestParam MultipartFile file) throws IOException { String url = "redirect:/app/archivo/" + idESDocumento; ModelAndView mav = new ModelAndView(url); if (file != null && !file.isEmpty()) { archivo.setMime(file.getContentType()); Fichero fich = new Fichero(file.getOriginalFilename()); archivo.setNombre(fich.getNameWithoutExtension()); archivo.setExtension(fich.getExtension()); archivo.setArchivo(file.getBytes()); archivo.setCreacion(new Date(), usuario); archivo.setIdArchivo(idESDocumento); genericDAO.insertOrUpdateWithBlob(Archivo.class, archivo); } return mav; }