List of usage examples for org.springframework.web.multipart MultipartFile getInputStream
@Override
InputStream getInputStream() throws IOException;
From source file:org.craftercms.profile.controllers.rest.ProfileController.java
@ResponseBody @RequestMapping(value = URL_PROFILE_UPLOAD_ATTACHMENT, method = RequestMethod.POST) @ApiOperation(value = "Upload a attachment to the current profile.", notes = "If the mime type of the attachment is not on the valid " + "list will fail") @ApiImplicitParam(name = "attachment", required = true, dataType = "file", paramType = "file", value = "File to be uploaded") public ProfileAttachment uploadProfileAttachment( @ApiParam("The profile's ID") @PathVariable(PATH_VAR_ID) String profileId, @RequestParam(name = PARAM_FILENAME, required = false) String filename, MultipartFile attachment) throws ProfileException { Profile profile = profileService.getProfile(profileId); if (profile != null) { String attachmentName = StringUtils.isNotBlank(filename) ? filename : attachment.getOriginalFilename(); try {/* w ww . java 2s .com*/ return profileService.addProfileAttachment(profile.getId().toString(), attachmentName, attachment.getInputStream()); } catch (IOException e) { throw new ProfileException("Unable to upload Attachment", e); } } else { throw new NoSuchProfileException.ById(profileId); } }
From source file:org.craftercms.social.controllers.rest.v3.comments.ProfileHelperController.java
@RequestMapping(value = "/avatar/{profileId}", method = RequestMethod.POST) @ResponseBody//from ww w . j av a 2 s .c o m public Profile getProfileAvatar(MultipartHttpServletRequest request, HttpServletResponse response, @PathVariable("profileId") String profileId) throws IOException, ProfileException { final Profile profile = SocialSecurityUtils.getCurrentProfile(); if (profile != null && !profile.getUsername().equalsIgnoreCase(SocialSecurityUtils.ANONYMOUS)) { final Iterator<String> files = request.getFileNames(); String fileName = null; if (files.hasNext()) { fileName = files.next(); } if (!StringUtils.isBlank(fileName)) { final MultipartFile avatar = request.getFile(fileName); profileService.addProfileAttachment(profile.getId().toString(), AVATAR + "." + FilenameUtils.getExtension(avatar.getOriginalFilename()).toLowerCase(), avatar.getInputStream()); } return profile; } else { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); return null; } }
From source file:org.craftercms.studio.controller.services.rest.AssetServiceController.java
/** * Add asset file to repository./* w ww . ja va 2s .co m*/ * * @param site site identifier * @param parentId parent identifier * @param fileName asset file name * @param file asset content file * @param mimeType mime type * @param properties additional properties * @return item representing given asset in repository * @throws StudioException */ @ApiErrors(@ApiError(code = 400, reason = "Bad request")) @ApiModel(type = Item.class) @RequestMapping(value = "/create/{site}", params = { "parent_id", "file_name", "mime_type" }, method = RequestMethod.POST) @ResponseBody public Item create(@ApiParam(name = "site", required = true, value = "String") @PathVariable String site, @ApiParam(name = "parent_id", required = true, value = "String") @RequestParam(value = "parent_id") String parentId, @ApiParam(name = "file_name", required = true, value = "String") @RequestParam(value = "file_name") String fileName, @ApiParam(name = "file", required = true, value = "org.springframework.web.multipart.MultipartFile") @RequestParam(value = "file") MultipartFile file, @ApiParam(name = "mime_type", required = true, value = "String") @RequestParam(value = "mime_type") String mimeType, @ApiParam(name = "properties", required = false, value = "Map<String, String>") @RequestParam(value = "properties", required = false) Map<String, String> properties) throws StudioException { InputStream contentStream = null; try { contentStream = file.getInputStream(); } catch (IOException e) { throw new StudioException(StudioException.ErrorCode.SYSTEM_ERROR, e); } Context context = RestControllerUtils.createMockContext(); return assetService.create(context, site, parentId, fileName, contentStream, mimeType, properties); }
From source file:org.craftercms.studio.controller.services.rest.AssetServiceController.java
/** * Update asset with given id and file.//from w w w. j a v a 2 s. co m * * @param site site identifier * @param itemId asset item id * @param file asset content file * @param properties additional properties * @return item representing asset * @throws StudioException */ @ApiErrors(@ApiError(code = 400, reason = "Bad Request")) @ApiModel(type = Item.class) @RequestMapping(value = "/update/{site}", params = { "item_id" }, method = RequestMethod.POST) @ResponseBody public Item update(@ApiParam(name = "site", required = true, value = "String") @PathVariable String site, @ApiParam(name = "item_id", required = true, value = "String") @RequestParam(value = "item_id") String itemId, @ApiParam(name = "file", required = true, value = "org.springframework.web.multipart.MultipartFile") @RequestParam(value = "file") MultipartFile file, @ApiParam(name = "properties", required = false, value = "Map<String, String>") @RequestParam(value = "properties", required = false) Map<String, String> properties) throws StudioException { Context context = RestControllerUtils.createMockContext(); ItemId id = new ItemId(itemId); InputStream content = null; try { content = file.getInputStream(); } catch (IOException e) { throw new StudioException(StudioException.ErrorCode.SYSTEM_ERROR, e); } return assetService.update(context, site, id, content, properties); }
From source file:org.craftercms.studio.controller.services.rest.DescriptorServiceController.java
/** * Create a new descriptor./*from w ww . j ava2 s. c o m*/ * * @param site site identifier * @param contentTypeId content type identifier * @param parentId parent identifier * @param fileName file name * @param file content stream * @param properties additional properties * @return item * @throws StudioException */ @ApiResponses({ @ApiResponse(code = 200, message = "Success", response = Item.class), @ApiResponse(code = 400, message = "Bad Request") }) @RequestMapping(value = "/create/{site}", method = RequestMethod.POST, params = { "content_type_id", "parent_id", "file_name" }) @ResponseBody public Item create( @ApiParam(name = "site", required = true, value = "String") @PathVariable final String site, @ApiParam(name = "content_type_id", required = true, value = "String") @RequestParam(value = "content_type_id", required = true) final String contentTypeId, @ApiParam(name = "parent_id", required = true, value = "String") @RequestParam(value = "parent_id", required = true) final String parentId, @ApiParam(name = "file_name", required = true, value = "String") @RequestParam(value = "file_name", required = true) final String fileName, @ApiParam(name = "file", required = true, value = "MultipartFile") @RequestParam(value = "file") final MultipartFile file, @ApiParam(name = "properties", required = false, value = "Map<String, String>") @RequestParam(value = "properties", required = false) final Map<String, String> properties) throws StudioException { Context context = RestControllerUtils.createMockContext(); InputStream content = null; try { content = file.getInputStream(); } catch (IOException e) { throw ErrorManager.createError(StudioServerErrorCode.FILE_UPLOAD_IO_ERROR); } Item item = descriptorService.create(context, site, contentTypeId, parentId, fileName, content, properties); return item; }
From source file:org.craftercms.studio.controller.services.rest.DescriptorServiceController.java
/** * Update given descriptor./* ww w. ja v a2 s .c o m*/ * * @param site site identifier * @param itemId descriptor item identifier * @param file content stream * @param properties additional properties * @return item * @throws StudioException */ @ApiResponses({ @ApiResponse(code = 200, message = "Success", response = Item.class), @ApiResponse(code = 400, message = "Bad request") }) @RequestMapping(value = "/update/{site}", method = RequestMethod.POST, params = "item_id") @ResponseBody public Item update( @ApiParam(name = "site", required = true, value = "String") @PathVariable final String site, @ApiParam(name = "item_id", required = true, value = "String") @RequestParam(value = "item_id", required = true) final String itemId, @ApiParam(name = "file", required = true, value = "MultipartFile") @RequestParam(value = "file", required = true) final MultipartFile file, @ApiParam(name = "properties", required = false, value = "Map<String, String>") @RequestParam(value = "properties", required = false) final Map<String, String> properties) throws StudioException { Context context = RestControllerUtils.createMockContext(); ItemId descriptorItemId = new ItemId(itemId); InputStream contentStream = null; try { contentStream = file.getInputStream(); } catch (IOException e) { throw ErrorManager.createError(StudioServerErrorCode.FILE_UPLOAD_IO_ERROR); } Item item = descriptorService.update(context, site, descriptorItemId, contentStream, properties); return item; }
From source file:org.craftercms.studio.controller.services.rest.TemplateServiceController.java
/** * Create a new template.// w ww. j a v a 2 s . c o m * * @param site site identifier * @param parentId parent identifier * @param fileName file name * @param file template file * @param properties template properties * @return template descriptor item * @throws StudioException */ @ApiOperation(value = "Create new template", notes = "Adds new template file to repository", produces = MediaType.APPLICATION_JSON_VALUE) @ApiResponses({ @ApiResponse(code = 200, message = "Success", response = Item.class), @ApiResponse(code = 400, message = "Bad request") }) @RequestMapping(value = "/create/{site}", method = RequestMethod.POST, params = { "parent_id", "file_name" }) @ResponseBody public Item create( @ApiParam(name = "site", required = true, value = "String") @PathVariable final String site, @ApiParam(name = "parent_id", required = true, value = "String") @RequestParam(value = "parent_id", required = true) final String parentId, @ApiParam(name = "file_name", required = true, value = "String") @RequestParam(value = "file_name", required = true) final String fileName, @ApiParam(name = "file", required = true, value = "String") @RequestParam(value = "file", required = true) final MultipartFile file, @ApiParam(name = "properties", required = false, value = "Map<String, String") @RequestParam(value = "properties", required = false) final Map<String, String> properties) throws StudioException { Context context = RestControllerUtils.createMockContext(); InputStream content = null; try { content = file.getInputStream(); } catch (IOException e) { throw ErrorManager.createError(StudioServerErrorCode.FILE_UPLOAD_IO_ERROR); } Item item = templateService.create(context, site, parentId, fileName, content, properties); return item; }
From source file:org.craftercms.studio.controller.services.rest.TemplateServiceController.java
/** * Update template.//from w w w. j a v a 2s .c om * * @param site site identifier * @param itemId template identifier * @param file template file * @param properties template properties * @return template descriptor * @throws StudioException */ @ApiResponses({ @ApiResponse(code = 200, message = "Success", response = Item.class), @ApiResponse(code = 400, message = "Bad request") }) @RequestMapping(value = "/update/{site}", method = RequestMethod.POST, params = { "item_id" }) @ResponseBody public Item update( @ApiParam(name = "site", required = true, value = "String") @PathVariable final String site, @ApiParam(name = "item_id", required = true, value = "String") @RequestParam(value = "item_id", required = true) final String itemId, @ApiParam(name = "file", required = true, value = "MultipartFile") @RequestParam(value = "file", required = true) final MultipartFile file, @ApiParam(name = "properties", required = false, value = "Map<String, String") @RequestParam(value = "properties", required = false) final Map<String, String> properties) throws StudioException { Context context = RestControllerUtils.createMockContext(); ItemId templateItemId = new ItemId(itemId); InputStream content = null; try { content = file.getInputStream(); } catch (IOException e) { throw ErrorManager.createError(StudioServerErrorCode.FILE_UPLOAD_IO_ERROR); } Item item = templateService.update(context, site, templateItemId, content, properties); return item; }
From source file:org.egov.api.controller.ComplaintController.java
/** * This will upload complaint support document * * @param complaintNo/*from w w w . j a v a 2 s.c om*/ * @param file * @return */ @RequestMapping(value = ApiUrl.COMPLAINT_UPLOAD_SUPPORT_DOCUMENT, method = RequestMethod.POST) public ResponseEntity<String> uploadSupportDocs(@PathVariable final String complaintNo, @RequestParam("files") final MultipartFile file) { try { final Complaint complaint = complaintService.getComplaintByCRN(complaintNo); final FileStoreMapper uploadFile = fileStoreService.store(file.getInputStream(), file.getOriginalFilename(), file.getContentType(), PGRConstants.MODULE_NAME); complaint.getSupportDocs().add(uploadFile); complaint.nextOwnerId(null); complaint.approverComment(null); complaint.sendToPreviousOwner(false); complaintService.updateComplaint(complaint); return getResponseHandler().success("", getMessage("msg.complaint.update.success")); } catch (final Exception e) { LOGGER.error(EGOV_API_ERROR, e); return getResponseHandler().error(getMessage(SERVER_ERROR)); } }
From source file:org.egov.council.web.controller.CouncilPreambleController.java
@RequestMapping(value = "/create", method = RequestMethod.POST) public String create(@Valid @ModelAttribute final CouncilPreamble councilPreamble, final BindingResult errors, @RequestParam final MultipartFile attachments, final Model model, final HttpServletRequest request, final RedirectAttributes redirectAttrs, @RequestParam String workFlowAction) { validatePreamble(councilPreamble, errors); if (errors.hasErrors()) { prepareWorkFlowOnLoad(model, councilPreamble); return COUNCILPREAMBLE_NEW; }//www .java 2 s .c om if (attachments != null && attachments.getSize() > 0) { try { councilPreamble.setFilestoreid( fileStoreService.store(attachments.getInputStream(), attachments.getOriginalFilename(), attachments.getContentType(), CouncilConstants.MODULE_NAME)); } catch (IOException e) { LOGGER.error("Error in loading documents" + e.getMessage(), e); } } if (isAutoPreambleNoGenEnabled()) { PreambleNumberGenerator preamblenumbergenerator = autonumberServiceBeanResolver .getAutoNumberServiceFor(PreambleNumberGenerator.class); councilPreamble.setPreambleNumber(preamblenumbergenerator.getNextNumber(councilPreamble)); } councilPreamble.setStatus(egwStatusHibernateDAO.getStatusByModuleAndCode( CouncilConstants.PREAMBLE_MODULENAME, CouncilConstants.PREAMBLE_STATUS_CREATED)); councilPreamble.setType(PreambleType.GENERAL); Long approvalPosition = 0l; String approvalComment = ""; String approverName = ""; String nextDesignation = ""; if (request.getParameter(APPROVAL_COMENT) != null) approvalComment = request.getParameter(APPROVAL_COMENT); if (request.getParameter(WORK_FLOW_ACTION) != null) workFlowAction = request.getParameter(WORK_FLOW_ACTION); if (request.getParameter("approverName") != null) approverName = request.getParameter("approverName"); if (request.getParameter("nextDesignation") != null) nextDesignation = request.getParameter("nextDesignation"); if (request.getParameter(APPROVAL_POSITION) != null && !request.getParameter(APPROVAL_POSITION).isEmpty()) approvalPosition = Long.valueOf(request.getParameter(APPROVAL_POSITION)); councilPreambleService.create(councilPreamble, approvalPosition, approvalComment, workFlowAction); String message = messageSource.getMessage("msg.councilPreamble.create", new String[] { approverName.concat("~").concat(nextDesignation), councilPreamble.getPreambleNumber() }, null); redirectAttrs.addFlashAttribute(MESSAGE2, message); return REDIRECT_COUNCILPREAMBLE_RESULT + councilPreamble.getId(); }