List of usage examples for org.springframework.core.io InputStreamResource InputStreamResource
public InputStreamResource(InputStream inputStream)
From source file:com.viewer.controller.ViewerController.java
@RequestMapping(value = "/GetPdfWithPrintDialog") @ResponseBody//from w w w . j a va2s . c om public ResponseEntity<InputStreamResource> GetPdfWithPrintDialog(@RequestParam String path, Boolean getPdf, Boolean useHtmlBasedEngine, Boolean supportPageRotation, HttpServletResponse response) throws Exception { PdfFileOptions options = new PdfFileOptions(); options.setGuid(path); options.setAddPrintAction(true); FileContainer result = _imageHandler.getPdfFile(options); return ResponseEntity.ok().contentType(MediaType.parseMediaType("application/pdf")) .body(new InputStreamResource(result.getStream())); }
From source file:kr.co.exsoft.external.controller.ExternalPublicController.java
@SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping(value = "/restful.postwithfiledown", method = RequestMethod.POST, produces = "applicaion/json; charset=utf8") @ResponseBody//from w ww.j a v a2s . com //@PathVariable String fileID public ResponseEntity<byte[]> downloadFile(HttpServletRequest request, HttpServletResponse response) { String errorMsg = ""; //??? ?? PageId String pageId = request.getParameter("pageId"); PageDao pageDao = sqlSession.getMapper(PageDao.class); PageVO ret = new PageVO(); HashMap<String, Object> param = new HashMap<String, Object>(); param.put("page_id", pageId); ret = pageDao.pageDetailInfo(param); HttpHeaders headers = new HttpHeaders(); File toServeUp = null; InputStream inputStream = null; // EXREP ? . :: eXrep C/S Client ?. EXrepClient eXrepClient = new EXrepClient(); // ?? String downPath = ConfigData.getString("FILE_DOWN_PATH") + UUID.randomUUID().toString() + "/"; String downFile = ret.getPage_name();//"word.docx"; String savePath = downPath + downFile; try { UtilFileApp.createDir(downPath); } catch (SecurityException | IOException e2) { // TODO Auto-generated catch block e2.printStackTrace(); errorMsg = "Can't Not Create Directory"; response.setHeader("errorMsg", errorMsg); } try { // 5. eXrep C/S ?. eXrepClient.connect(); if (eXrepClient.getFile(ret.getVolume_id(), ret.getContent_path(), savePath)) { toServeUp = new File(savePath); System.out.println("FILE DOWN LOAD COMPLITE"); } // 6. eXrep C/S Client Close eXrepClient.disconnect(); } catch (ExrepClientException e1) { // TODO Auto-generated catch block e1.printStackTrace(); errorMsg = "Not Connected FileServer"; response.setHeader("errorMsg", errorMsg); } try { inputStream = new FileInputStream(toServeUp); } catch (FileNotFoundException e) { e.printStackTrace(); errorMsg = "Not Found DownLoadFile"; response.setHeader("errorMsg", errorMsg); } InputStreamResource inputStreamResource = new InputStreamResource(inputStream); Long fileSize = toServeUp.length(); headers.setContentLength(fileSize.intValue()); response.setContentType("application/octer-stream;charset=utf-8"); response.setCharacterEncoding("utf-8"); try { //? ? response.setHeader("filename", java.net.URLEncoder.encode(downFile, "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); errorMsg = "Can't Not Encoding File"; response.setHeader("errorMsg", errorMsg); } return new ResponseEntity(inputStreamResource, headers, HttpStatus.OK); }
From source file:business.services.RequestService.java
public HttpEntity<InputStreamResource> writeRequestListCsv(List<RequestRepresentation> requests) { try {/* w w w.j a va 2 s . c o m*/ ByteArrayOutputStream out = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(out, CSV_CHARACTER_ENCODING); CSVWriter csvwriter = new CSVWriter(writer, ';', '"'); csvwriter.writeNext(CSV_COLUMN_NAMES); for (RequestRepresentation request : requests) { List<String> values = new ArrayList<>(); values.add(request.getRequestNumber()); values.add(DATE_FORMATTER.print(request.getDateCreated(), LOCALE)); values.add(request.getTitle()); values.add(request.getStatus().toString()); values.add(booleanToString(request.isLinkageWithPersonalData())); values.add(request.getLinkageWithPersonalDataNotes()); values.add(booleanToString(request.isStatisticsRequest())); values.add(booleanToString(request.isExcerptsRequest())); values.add(booleanToString(request.isPaReportRequest())); values.add(booleanToString(request.isMaterialsRequest())); values.add(booleanToString(request.isClinicalDataRequest())); values.add(request.getRequesterName()); values.add(request.getLab() == null ? "" : request.getLab().getNumber().toString()); values.add(request.getRequester() == null ? "" : request.getRequester().getSpecialism()); values.add(labRequestService.countHubAssistanceLabRequestsForRequest(request.getProcessInstanceId()) .toString()); values.add(request.getPathologistName()); csvwriter.writeNext(values.toArray(new String[] {})); } csvwriter.flush(); writer.flush(); out.flush(); InputStream in = new ByteArrayInputStream(out.toByteArray()); csvwriter.close(); writer.close(); out.close(); InputStreamResource resource = new InputStreamResource(in); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf("text/csv")); String filename = "requests_" + DATE_FORMATTER.print(new Date(), LOCALE) + ".csv"; headers.set("Content-Disposition", "attachment; filename=" + filename); HttpEntity<InputStreamResource> response = new HttpEntity<InputStreamResource>(resource, headers); log.info("Returning reponse."); return response; } catch (IOException e) { log.error(e.getStackTrace()); log.error(e.getMessage()); throw new FileDownloadError(); } }
From source file:org.messic.server.facade.controllers.rest.SongController.java
@ApiMethod(path = "/services/songs/{songSid}/dlna", verb = ApiVerb.GET, description = "Get the audio binary from a song resource of an album for a dlna service", produces = { MediaType.APPLICATION_OCTET_STREAM_VALUE }) @ApiErrors(apierrors = { @ApiError(code = UnknownMessicRESTException.VALUE, description = "Unknown error"), @ApiError(code = NotAuthorizedMessicRESTException.VALUE, description = "Forbidden access"), @ApiError(code = IOMessicRESTException.VALUE, description = "IO error trying to get the audio resource") }) @RequestMapping(value = "/{songSid}/dlna", method = { RequestMethod.GET, RequestMethod.HEAD }) @ResponseStatus(HttpStatus.OK)/*w ww . j a v a 2s . c o m*/ @ResponseBody @ApiResponseObject public ResponseEntity getSongDLNA( @ApiParam(name = "songSid", description = "SID of the song resource we want to download", paramType = ApiParamType.PATH, required = true) @PathVariable Long songSid, HttpServletRequest request, HttpServletResponse response) throws NotAuthorizedMessicRESTException, IOMessicRESTException, UnknownMessicRESTException { User user = SecurityUtil.getCurrentUser(); try { HttpHeaders headers = new HttpHeaders(); // TODO some mp3 songs fail with application/octet-stream // MP3 files must have the content type of audio/mpeg or application/octet-stream // ogg files must have the content type of application/ogg headers.setContentType(MediaType.parseMediaType("audio/mpeg")); headers.setConnection("close"); headers.add("EXT", null); headers.add("Accept-Ranges", "bytes"); headers.add("transferMode.dlna.org", "Streaming"); headers.add("contentFeatures.dlna.org", "DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0"); headers.add("realTimeInfo.dlna.org", "DLNA.ORG_TLAG=*"); headers.setDate(System.currentTimeMillis()); if (request.getHeader("Range") == null) { APISong.AudioSongStream ass = songAPI.getAudioSong(user, songSid); headers.setContentLength(ass.contentLength); headers.add("Content-Range", "bytes 0-" + ass.contentLength + "/" + ass.contentLength); InputStreamResource inputStreamResource = new InputStreamResource(ass.is); if (request.getMethod().equalsIgnoreCase("GET")) { return new ResponseEntity(inputStreamResource, headers, HttpStatus.OK); } else { return new ResponseEntity<byte[]>(new byte[0], headers, HttpStatus.OK); } } else { APISong.AudioSongStream ass = songAPI.getAudioSong(user, songSid); String range = request.getHeader("Range"); String[] sbytes = range.split("=")[1].split("-"); int from = Integer.valueOf(sbytes[0]); int to = (int) ass.contentLength; if (sbytes.length > 1) { to = Integer.valueOf(sbytes[1]); } headers.setContentLength(to - from); headers.add("Content-Range", "bytes " + from + "-" + to + "/" + ass.contentLength); if (request.getMethod().equalsIgnoreCase("GET")) { UtilSubInputStream usi = new UtilSubInputStream(ass.is, from, to); InputStreamResource inputStreamResource = new InputStreamResource(usi); return new ResponseEntity(inputStreamResource, headers, HttpStatus.OK); } else { return new ResponseEntity<byte[]>(new byte[0], headers, HttpStatus.OK); } } } catch (IOException ioe) { log.error("failed!", ioe); throw new IOMessicRESTException(ioe); } catch (Exception e) { throw new UnknownMessicRESTException(e); } }
From source file:com.sastix.cms.server.services.content.impl.hazelcast.HazelcastResourceServiceImpl.java
@Override @Transactional(readOnly = true)/* w ww.j av a 2s .c o m*/ public ResponseEntity<InputStreamResource> getResponseInputStream(String uuid) throws ResourceAccessError, IOException { // Find Resource final Resource resource = resourceRepository.findOneByUid(uuid); if (resource == null) { return null; } InputStream inputStream; int size; //check cache first QueryCacheDTO queryCacheDTO = new QueryCacheDTO(resource.getUri()); CacheDTO cacheDTO = null; try { cacheDTO = cacheService.getCachedResource(queryCacheDTO); } catch (DataNotFound e) { LOG.warn("Resource '{}' is not cached.", resource.getUri()); } catch (Exception e) { LOG.error("Exception: {}", e.getLocalizedMessage()); } if (cacheDTO != null && cacheDTO.getCacheBlobBinary() != null) { LOG.info("Getting resource {} from cache", resource.getUri()); inputStream = new ByteArrayInputStream(cacheDTO.getCacheBlobBinary()); size = cacheDTO.getCacheBlobBinary().length; } else { try { final Path responseFile = hashedDirectoryService.getDataByURI(resource.getUri(), resource.getResourceTenantId()); inputStream = Files.newInputStream(responseFile); size = (int) Files.size(responseFile); // Adding resource to cache distributedCacheService.cacheIt(resource.getUri(), resource.getResourceTenantId()); } catch (IOException ex) { LOG.info("Error writing file to output stream. Filename was '{}'", resource.getUri(), ex); throw new RuntimeException("IOError writing file to output stream"); } catch (URISyntaxException e) { e.printStackTrace(); throw new RuntimeException("IOError writing file to output stream"); } } return ResponseEntity.ok().contentLength(size) .contentType(MediaType.parseMediaType(resource.getMediaType())) .body(new InputStreamResource(inputStream)); }
From source file:com.baifendian.swordfish.webserver.service.WorkflowService.java
/** * @param operator/*from w w w.j av a 2s . c o m*/ * @param projectName * @param name * @return */ public org.springframework.core.io.Resource downloadProjectFlowFile(User operator, String projectName, String name) { Project project = projectMapper.queryByName(projectName); if (project == null) { logger.error("Project does not exist: {}", projectName); throw new NotFoundException("Not found project \"{0}\"", projectName); } // project ?? if (!projectService.hasReadPerm(operator.getId(), project)) { logger.error("User {} has no right permission for the project {}", operator.getName(), project.getName()); throw new PermissionException("User \"{0}\" is not has project \"{1}\" read permission", operator.getName(), project.getName()); } // ? hdfs logger.info("try download workflow {} file from hdfs", name); String localFilename = BaseConfig.getLocalWorkflowFilename(project.getId(), UUID.randomUUID().toString()); String hdfsFilename = BaseConfig.getHdfsWorkflowFilename(project.getId(), name); logger.info("download hdfs {} to local {}", hdfsFilename, localFilename); try { HdfsClient.getInstance().copyHdfsToLocal(hdfsFilename, localFilename, false, true); } catch (Exception e) { logger.error("try download workflow {} file error", e); } org.springframework.core.io.Resource file = fileSystemStorageService.loadAsResource(localFilename); if (file != null) { return file; } // ? logger.info("try download workflow {} file from db", name); ProjectFlow projectFlow = flowDao.projectFlowfindByName(project.getId(), name); try { String json = JsonUtil.toJsonString(new WorkflowData(projectFlow.getFlowsNodes(), projectFlow.getUserDefinedParamList(), FlowNode.class)); InputStreamResource resource = new InputStreamResource(new FileInputStream(json)); return resource; } catch (Exception e) { logger.error("download workflow file from db error", e); throw new ServerErrorException("download workflow file from db error"); } }
From source file:com.viewer.controller.ViewerController.java
@RequestMapping("/GetDocumentPageImage") @ResponseBody//from ww w . ja v a2 s . c om public final ResponseEntity<InputStreamResource> GetDocumentPageImage(@RequestParam String path, Boolean usePdf, Boolean useHtmlBasedEngine, Boolean rotate, int width, int pageindex, int quality) throws Exception { lock.lock(); ViewerConfig imageConfig = new ViewerConfig(); imageConfig.setStoragePath(_storagePath); imageConfig.setTempPath(_tempPath); imageConfig.setUseCache(true); _imageHandler = new ViewerImageHandler(imageConfig); String guid = path; int pageIndex = pageindex; int pageNumber = pageIndex + 1; PageImage pageImage = null; ImageOptions imageOptions = new ImageOptions(); imageOptions.setConvertImageFileType(_convertImageFileType); imageOptions.setTransformations(rotate ? Transformation.Rotate : Transformation.None); if (rotate && width != 0) { DocumentInfoOptions documentInfoOptions = new DocumentInfoOptions(guid); DocumentInfoContainer documentInfoContainer = _imageHandler.getDocumentInfo(documentInfoOptions); int side = width; int pageAngle = 0; int count = 0; for (PageData page : documentInfoContainer.getPages()) { if (count == pageIndex) { pageAngle = page.getAngle(); } count++; } if (pageAngle == 90 || pageAngle == 270) { imageOptions.setHeight(side); } else { imageOptions.setWidth(side); } } List<PageImage> pageImages = (List<PageImage>) _imageHandler.getPages(guid, imageOptions); for (PageImage image : pageImages) { if (image.getPageNumber() == pageNumber) { pageImage = image; lock.unlock(); return ResponseEntity.ok().contentType(GetContentType(_convertImageFileType)) .body(new InputStreamResource(pageImage.getStream())); } } lock.unlock(); return ResponseEntity.ok().contentType(GetContentType(_convertImageFileType)) .body(new InputStreamResource(pageImage.getStream())); }
From source file:kr.co.exsoft.external.controller.ExternalPublicController.java
/** * <pre>/*from www. j a v a2s . com*/ * 1. :[1000] * 2. : ? * </pre> * @Method Name : interfaceFiledownloadHandler * @param paraMap * @param response * @return ResponseEntity<byte[]> */ @SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping(value = "/interfaceFiledownload", method = RequestMethod.POST, produces = "applicaion/json; charset=utf8") @ResponseBody public ResponseEntity<byte[]> interfaceFiledownloadHandler(@RequestParam HashMap<String, Object> paraMap, HttpServletRequest request, HttpServletResponse response) { interfacelogger.info("==================== interfaceFiledownloadHandler ====================="); String errorMsg = ""; HttpHeaders headers = new HttpHeaders(); File toServeUp = null; InputStream inputStream = null; Map<String, Object> list = new HashMap<String, Object>(); String downFile = ""; InputStreamResource inputStreamResource = null; try { SessionVO sessionVO = externalService.interfaceSessionVO(request, paraMap.get("authId").toString()); list = externalService.interfaceTypePage(paraMap, null, sessionVO); toServeUp = (File) list.get("file"); downFile = list.get("downFile").toString(); inputStream = new FileInputStream(toServeUp); inputStreamResource = new InputStreamResource(inputStream); Long fileSize = toServeUp.length(); headers.setContentLength(fileSize.intValue()); response.setContentType("application/octer-stream;charset=utf-8"); response.setCharacterEncoding("utf-8"); //? ? response.setHeader("filename", java.net.URLEncoder.encode(downFile, "UTF-8")); } catch (BizException e) { response.setHeader("errorMsg", e.getMessage()); interfacelogger.debug(StringUtil.getHashMap(paraMap)); interfacelogger.debug(StringUtil.getErrorTrace(e)); } catch (FileNotFoundException e) { errorMsg = "Not Found DownLoadFile"; response.setHeader("errorMsg", errorMsg); interfacelogger.debug(StringUtil.getHashMap(paraMap)); interfacelogger.debug(StringUtil.getErrorTrace(e)); } catch (UnsupportedEncodingException e) { errorMsg = "Can't Not Encoding FileName"; response.setHeader("errorMsg", errorMsg); interfacelogger.debug(StringUtil.getHashMap(paraMap)); interfacelogger.debug(StringUtil.getErrorTrace(e)); } catch (Exception e) { errorMsg = "Not Connected FileServer"; response.setHeader("errorMsg", errorMsg); interfacelogger.debug(StringUtil.getHashMap(paraMap)); interfacelogger.debug(StringUtil.getErrorTrace(e)); } return new ResponseEntity(inputStreamResource, headers, HttpStatus.OK); }
From source file:org.activiti.idm.engine.IdmEngineConfiguration.java
public static IdmEngineConfiguration parseIdmEngineConfigurationFromInputStream(InputStream inputStream, String beanName) {/*from w ww . j a v a 2 s. co m*/ Resource springResource = new InputStreamResource(inputStream); return parseIdmEngineConfiguration(springResource, beanName); }