List of usage examples for org.springframework.web.multipart MultipartHttpServletRequest getFileNames
Iterator<String> getFileNames();
From source file:org.gallery.web.controller.ImageController.java
@RequestMapping(value = "/upload", method = RequestMethod.POST) public @ResponseBody Map upload(MultipartHttpServletRequest request, HttpServletResponse response) throws IOException { log.info("UploadPost called..."); Iterator<String> itr = request.getFileNames(); MultipartFile mpf;/*w w w .ja v a 2 s . c o m*/ List<ImageVO> list = new LinkedList<>(); while (itr.hasNext()) { mpf = request.getFile(itr.next()); String originalFilename = mpf.getOriginalFilename(); if (originalFilename == null || StringUtils.isEmpty(originalFilename)) { originalFilename = UUID.randomUUID().toString() + ".jpg"; } log.info("Uploading {}", originalFilename); String newFilenameBase = "-" + UUID.randomUUID().toString(); String storageDirectory = fileUploadDirectory; String contentType = mpf.getContentType(); if (contentType == null || StringUtils.isEmpty(contentType)) { contentType = "image/jpeg"; } String newFilename = newFilenameBase; InputStream in = null; try { // Save Images // mpf.transferTo(newFile); in = new ByteArrayInputStream(mpf.getBytes()); BufferedImage originalImage = ImageIO.read(in); // Save Original Image String filenameExtension = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length()); ImageIO.write(originalImage, filenameExtension, new File(storageDirectory + File.separatorChar + originalFilename)); // Small Thumbnails BufferedImage thumbnail_small = Scalr.resize(originalImage, ThumbnailSize.SMALL_SIZE.getSize()); compressImg(thumbnail_small, new File(storageDirectory + File.separatorChar + ThumbnailSize.SMALL_SIZE.getId() + newFilenameBase + "." + ThumbnailSize.SMALL_SIZE.getFormatName()), ThumbnailSize.SMALL_SIZE.getCompressionQuality()); // Medium Thumbnail BufferedImage thumbnail_medium = Scalr.resize(originalImage, ThumbnailSize.MEDIUM_SIZE.getSize()); compressImg(thumbnail_medium, new File(storageDirectory + File.separatorChar + ThumbnailSize.MEDIUM_SIZE.getId() + newFilenameBase + "." + ThumbnailSize.MEDIUM_SIZE.getFormatName()), ThumbnailSize.MEDIUM_SIZE.getCompressionQuality()); // Big Thumbnails BufferedImage thumbnail_big = Scalr.resize(originalImage, ThumbnailSize.BIG_SIZE.getSize()); compressImg(thumbnail_big, new File(storageDirectory + File.separatorChar + ThumbnailSize.BIG_SIZE.getId() + newFilenameBase + "." + ThumbnailSize.BIG_SIZE.getFormatName()), ThumbnailSize.BIG_SIZE.getCompressionQuality()); log.info("EmotionParser..."); // ImageEntity entity = // EmotionParser.parse(ImageIO.read(newFile)); ImageEntity entity = new ImageEntity(); entity.setName(originalFilename); entity.setNewFilename(newFilename); entity.setContentType(contentType); entity.setSize(mpf.getSize()); imageDao.save(entity); ImageVO imageVO = new ImageVO(entity); imageVO.setId(entity.getId()); imageVO.setUrl("/picture/" + entity.getId()); imageVO.setThumbnailUrl("/thumbnail/" + entity.getId()); imageVO.setDeleteUrl("/delete/" + entity.getId()); imageVO.setEmotionUrl("/emotion/" + entity.getId()); imageVO.setDeleteType("DELETE"); list.add(imageVO); } catch (IOException e) { log.error("Could not upload file " + originalFilename, e); } finally { in.close(); } } Map<String, Object> files = new HashMap<>(); files.put("files", list); return files; }
From source file:gr.abiss.calipso.tiers.controller.AbstractModelWithAttachmentsController.java
@ApiOperation(value = "Add a file uploads to property") @RequestMapping(value = "{subjectId}/uploads/{propertyName}", method = { RequestMethod.POST, RequestMethod.PUT }, consumes = {}) public @ResponseBody BinaryFile addUploadsToProperty(@PathVariable ID subjectId, @PathVariable String propertyName, MultipartHttpServletRequest request, HttpServletResponse response) { LOGGER.info("uploadPost called"); Configuration config = ConfigurationFactory.getConfiguration(); String fileUploadDirectory = config.getString(ConfigurationFactory.FILES_DIR); String baseUrl = config.getString("calipso.baseurl"); Iterator<String> itr = request.getFileNames(); MultipartFile mpf;// w w w .j a va 2 s . c o m BinaryFile bf = new BinaryFile(); try { if (itr.hasNext()) { mpf = request.getFile(itr.next()); LOGGER.info("Uploading {}", mpf.getOriginalFilename()); bf.setName(mpf.getOriginalFilename()); bf.setFileNameExtention( mpf.getOriginalFilename().substring(mpf.getOriginalFilename().lastIndexOf(".") + 1)); bf.setContentType(mpf.getContentType()); bf.setSize(mpf.getSize()); // request targets specific path? StringBuffer uploadsPath = new StringBuffer('/') .append(this.service.getDomainClass().getDeclaredField("PATH_FRAGMENT").get(String.class)) .append('/').append(subjectId).append("/uploads/").append(propertyName); bf.setParentPath(uploadsPath.toString()); LOGGER.info("Saving image entity with path: " + bf.getParentPath()); bf = binaryFileService.create(bf); LOGGER.info("file name: {}", bf.getNewFilename()); bf = binaryFileService.findById(bf.getId()); LOGGER.info("file name: {}", bf.getNewFilename()); File storageDirectory = new File(fileUploadDirectory + bf.getParentPath()); if (!storageDirectory.exists()) { storageDirectory.mkdirs(); } LOGGER.info("storageDirectory: {}", storageDirectory.getAbsolutePath()); LOGGER.info("file name: {}", bf.getNewFilename()); File newFile = new File(storageDirectory, bf.getNewFilename()); newFile.createNewFile(); LOGGER.info("newFile path: {}", newFile.getAbsolutePath()); Files.copy(mpf.getInputStream(), newFile.toPath(), StandardCopyOption.REPLACE_EXISTING); BufferedImage thumbnail = Scalr.resize(ImageIO.read(newFile), 290); File thumbnailFile = new File(storageDirectory, bf.getThumbnailFilename()); ImageIO.write(thumbnail, "png", thumbnailFile); bf.setThumbnailSize(thumbnailFile.length()); bf = binaryFileService.update(bf); // attach file // TODO: add/update to collection Field fileField = GenericSpecifications.getField(this.service.getDomainClass(), propertyName); Class clazz = fileField.getType(); if (BinaryFile.class.isAssignableFrom(clazz)) { T target = this.service.findById(subjectId); BeanUtils.setProperty(target, propertyName, bf); this.service.update(target); } bf.setUrl(baseUrl + "/api/rest/" + bf.getParentPath() + "/files/" + bf.getId()); bf.setThumbnailUrl(baseUrl + "/api/rest/" + bf.getParentPath() + "/thumbs/" + bf.getId()); bf.setDeleteUrl(baseUrl + "/api/rest/" + bf.getParentPath() + "/" + bf.getId()); bf.setDeleteType("DELETE"); bf.addInitialPreview("<img src=\"" + bf.getThumbnailUrl() + "\" class=\"file-preview-image\" />"); } } catch (Exception e) { LOGGER.error("Could not upload file(s) ", e); } return bf; }
From source file:com.qcadoo.mes.basic.controllers.WorkstationMultiUploadController.java
@ResponseBody @RequestMapping(value = "/multiUploadFiles", method = RequestMethod.POST) public void upload(MultipartHttpServletRequest request, HttpServletResponse response) { Long workstationId = Long.parseLong(request.getParameter("techId")); Entity workstation = dataDefinitionService .get(BasicConstants.PLUGIN_IDENTIFIER, BasicConstants.MODEL_WORKSTATION).get(workstationId); DataDefinition attachmentDD = dataDefinitionService.get(BasicConstants.PLUGIN_IDENTIFIER, BasicConstants.MODEL_WORKSTATION_ATTACHMENT); Iterator<String> itr = request.getFileNames(); MultipartFile mpf = null;// ww w . jav a 2s . c om while (itr.hasNext()) { mpf = request.getFile(itr.next()); String path = ""; try { path = fileService.upload(mpf); } catch (IOException e) { logger.error("Unable to upload attachment.", e); } if (exts.contains(Files.getFileExtension(path).toUpperCase())) { Entity atchment = attachmentDD.create(); atchment.setField(WorkstationAttachmentFields.ATTACHMENT, path); atchment.setField(WorkstationAttachmentFields.NAME, mpf.getOriginalFilename()); atchment.setField(WorkstationAttachmentFields.WORKSTATION, workstation); atchment.setField(WorkstationAttachmentFields.EXT, Files.getFileExtension(path)); BigDecimal fileSize = new BigDecimal(mpf.getSize(), numberService.getMathContext()); BigDecimal divider = new BigDecimal(1024, numberService.getMathContext()); BigDecimal size = fileSize.divide(divider, L_SCALE, BigDecimal.ROUND_HALF_UP); atchment.setField(WorkstationAttachmentFields.SIZE, size); attachmentDD.save(atchment); } } }
From source file:com.qcadoo.mes.basic.controllers.SubassemblyMultiUploadController.java
@ResponseBody @RequestMapping(value = "/multiUploadFilesForSubassembly", method = RequestMethod.POST) public void upload(MultipartHttpServletRequest request, HttpServletResponse response) { Long subassemblyId = Long.parseLong(request.getParameter("techId")); Entity subassembly = dataDefinitionService .get(BasicConstants.PLUGIN_IDENTIFIER, BasicConstants.MODEL_SUBASSEMBLY).get(subassemblyId); DataDefinition attachmentDD = dataDefinitionService.get(BasicConstants.PLUGIN_IDENTIFIER, BasicConstants.MODEL_SUBASSEMBLY_ATTACHMENT); Iterator<String> itr = request.getFileNames(); MultipartFile mpf = null;/* w w w .j a va2 s . c om*/ while (itr.hasNext()) { mpf = request.getFile(itr.next()); String path = ""; try { path = fileService.upload(mpf); } catch (IOException e) { logger.error("Unable to upload attachment.", e); } if (exts.contains(Files.getFileExtension(path).toUpperCase())) { Entity atchment = attachmentDD.create(); atchment.setField(SubassemblyAttachmentFields.ATTACHMENT, path); atchment.setField(SubassemblyAttachmentFields.NAME, mpf.getOriginalFilename()); atchment.setField(SubassemblyAttachmentFields.SUBASSEMBLY, subassembly); atchment.setField(SubassemblyAttachmentFields.EXT, Files.getFileExtension(path)); BigDecimal fileSize = new BigDecimal(mpf.getSize(), numberService.getMathContext()); BigDecimal divider = new BigDecimal(1024, numberService.getMathContext()); BigDecimal size = fileSize.divide(divider, L_SCALE, BigDecimal.ROUND_HALF_UP); atchment.setField(SubassemblyAttachmentFields.SIZE, size); attachmentDD.save(atchment); } } }
From source file:com.hp.avmon.agentless.service.AgentlessService.java
public String importAgentlessFile(HttpServletRequest request) throws IOException { String result = StringUtil.EMPTY; HashMap<String, ArrayList<Map<String, String>>> resultMap = new HashMap<String, ArrayList<Map<String, String>>>(); ArrayList<Map<String, String>> files = new ArrayList<Map<String, String>>(); Map<String, HashMap<String, List<String>>> map = new HashMap<String, HashMap<String, List<String>>>(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //?//from w w w.ja v a2 s . com String templatePath = Config.getInstance().getAgentlessfilesUploadPath(); File dirPath = new File(templatePath); if (!dirPath.exists()) { dirPath.mkdirs(); } Map<String, String> fileMap; try { for (Iterator it = multipartRequest.getFileNames(); it.hasNext();) { String fileName = (String) it.next(); CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile(fileName); if (file != null && file.getSize() != 0) { String sep = System.getProperty("file.separator"); String importFilePath = dirPath + sep + file.getOriginalFilename(); File uploadedFile = new File(importFilePath); FileCopyUtils.copy(file.getBytes(), uploadedFile); //?? String importStatus = importRmpInstance(importFilePath); //boolean importStatus = false; String name = file.getOriginalFilename(); fileMap = new HashMap<String, String>(); if (importStatus.indexOf("success") > -1) { fileMap.put("status", "success"); String[] s = importStatus.split(":"); fileMap.put("msg", "?" + s[1] + "" + s[2]); } else { fileMap.put("status", "failed"); fileMap.put("msg", importStatus); } fileMap.put("url", ""); fileMap.put("thumbnailUrl", ""); fileMap.put("name", name); fileMap.put("type", "image/jpeg"); fileMap.put("size", file.getSize() + ""); fileMap.put("deleteUrl", ""); fileMap.put("deleteType", "DELETE"); files.add(fileMap); } } } catch (Exception e) { e.printStackTrace(); logger.error(e); } resultMap.put("files", files); result = JackJson.fromObjectToJson(resultMap); logger.debug(result); return result; }
From source file:com.qcadoo.mes.technologies.controller.TechnologyMultiUploadController.java
@ResponseBody @RequestMapping(value = "/multiUploadFiles", method = RequestMethod.POST) public void upload(MultipartHttpServletRequest request, HttpServletResponse response) { Long technologyId = Long.parseLong(request.getParameter("techId")); Entity technology = dataDefinitionService .get(TechnologiesConstants.PLUGIN_IDENTIFIER, TechnologiesConstants.MODEL_TECHNOLOGY) .get(technologyId);//from w w w .ja v a2s. c o m DataDefinition attachmentDD = dataDefinitionService.get(TechnologiesConstants.PLUGIN_IDENTIFIER, TechnologiesConstants.MODEL_TECHNOLOGY_ATTACHMENT); Iterator<String> itr = request.getFileNames(); MultipartFile mpf = null; while (itr.hasNext()) { mpf = request.getFile(itr.next()); String path = ""; try { path = fileService.upload(mpf); } catch (IOException e) { logger.error("Unable to upload attachment.", e); } if (exts.contains(Files.getFileExtension(path).toUpperCase())) { Entity atchment = attachmentDD.create(); atchment.setField(TechnologyAttachmentFields.ATTACHMENT, path); atchment.setField(TechnologyAttachmentFields.NAME, mpf.getOriginalFilename()); atchment.setField(TechnologyAttachmentFields.TECHNOLOGY, technology); atchment.setField(TechnologyAttachmentFields.EXT, Files.getFileExtension(path)); BigDecimal fileSize = new BigDecimal(mpf.getSize(), numberService.getMathContext()); BigDecimal divider = new BigDecimal(1024, numberService.getMathContext()); BigDecimal size = fileSize.divide(divider, L_SCALE, BigDecimal.ROUND_HALF_UP); atchment.setField(TechnologyAttachmentFields.SIZE, size); attachmentDD.save(atchment); } } }
From source file:com.jaspersoft.jasperserver.rest.utils.Utils.java
/** * Extract the attachments from the request and put the in the list of * input attachments of the service.//from www .jav a2s . co m * * The method returns the currenst HttpServletRequest if the message is not * multipart, otherwise it returns a MultipartHttpServletRequest * * * @param service * @param hRequest */ public HttpServletRequest extractAttachments(LegacyRunReportService service, HttpServletRequest hRequest) { //Check whether we're dealing with a multipart request MultipartResolver resolver = new CommonsMultipartResolver(); // handles the PUT multipart requests if (isMultipartContent(hRequest) && hRequest.getContentLength() != -1) { MultipartHttpServletRequest mreq = resolver.resolveMultipart(hRequest); if (mreq != null && mreq.getFileMap().size() != 0) { Iterator iterator = mreq.getFileNames(); String fieldName = null; while (iterator.hasNext()) { fieldName = (String) iterator.next(); MultipartFile file = mreq.getFile(fieldName); if (file != null) { DataSource ds = new MultipartFileDataSource(file); service.getInputAttachments().put(fieldName, ds); } } if (log.isDebugEnabled()) { log.debug(service.getInputAttachments().size() + " attachments were extracted from the PUT"); } return mreq; } // handles the POST multipart requests else { if (hRequest instanceof DefaultMultipartHttpServletRequest) { DefaultMultipartHttpServletRequest dmServletRequest = (DefaultMultipartHttpServletRequest) hRequest; Iterator iterator = ((DefaultMultipartHttpServletRequest) hRequest).getFileNames(); String fieldName = null; while (iterator.hasNext()) { fieldName = (String) iterator.next(); MultipartFile file = dmServletRequest.getFile(fieldName); if (file != null) { DataSource ds = new MultipartFileDataSource(file); service.getInputAttachments().put(fieldName, ds); } } } } } if (log.isDebugEnabled()) { log.debug(service.getInputAttachments().size() + " attachments were extracted from the POST"); } return hRequest; }
From source file:com.qcadoo.mes.cmmsMachineParts.controller.PlannedEventMultiUploadController.java
@ResponseBody @RequestMapping(value = "/multiUploadFilesForPlannedEvent", method = RequestMethod.POST) public void upload(MultipartHttpServletRequest request, HttpServletResponse response) { Long eventId = Long.parseLong(request.getParameter("eventId")); Entity event = dataDefinitionService .get(CmmsMachinePartsConstants.PLUGIN_IDENTIFIER, CmmsMachinePartsConstants.MODEL_PLANNED_EVENT) .get(eventId);//from ww w . j av a2 s . c om DataDefinition attachmentDD = dataDefinitionService.get(CmmsMachinePartsConstants.PLUGIN_IDENTIFIER, CmmsMachinePartsConstants.MODEL_PLANNED_EVENT_ATTACHMENT); Iterator<String> itr = request.getFileNames(); MultipartFile mpf = null; while (itr.hasNext()) { mpf = request.getFile(itr.next()); String path = ""; try { path = fileService.upload(mpf); } catch (IOException e) { logger.error("Unable to upload attachment.", e); } if (exts.contains(Files.getFileExtension(path).toUpperCase())) { Entity atchment = attachmentDD.create(); atchment.setField(PlannedEventAttachmentFields.ATTACHMENT, path); atchment.setField(PlannedEventAttachmentFields.NAME, mpf.getOriginalFilename()); atchment.setField(PlannedEventAttachmentFields.PLANNED_EVENT, event); atchment.setField(PlannedEventAttachmentFields.EXT, Files.getFileExtension(path)); BigDecimal fileSize = new BigDecimal(mpf.getSize(), numberService.getMathContext()); BigDecimal divider = new BigDecimal(1024, numberService.getMathContext()); BigDecimal size = fileSize.divide(divider, L_SCALE, BigDecimal.ROUND_HALF_UP); atchment.setField(PlannedEventAttachmentFields.SIZE, size); atchment = attachmentDD.save(atchment); atchment.isValid(); } } }
From source file:fr.mby.opa.pics.web.controller.UploadPicturesController.java
/*************************************************** * URL: /upload/jqueryUpload upload(): receives files * //from w w w.j a v a 2 s .com * @param request * : MultipartHttpServletRequest auto passed * @param response * : HttpServletResponse auto passed * @return LinkedList<FileMeta> as json format ****************************************************/ @ResponseBody @RequestMapping(value = "/jqueryUpload", method = RequestMethod.POST) public FileMetaList jqueryUpload(@RequestParam final Long albumId, final MultipartHttpServletRequest request, final HttpServletResponse response) throws Exception { Assert.notNull(albumId, "No Album Id supplied !"); final FileMetaList files = new FileMetaList(); // 1. build an iterator final Iterator<String> itr = request.getFileNames(); // 2. get each file while (itr.hasNext()) { // 2.1 get next MultipartFile final MultipartFile mpf = request.getFile(itr.next()); // Here the file is uploaded final String originalFilename = mpf.getOriginalFilename(); final String contentType = mpf.getContentType(); final Matcher zipMatcher = UploadPicturesController.ZIP_CONTENT_TYPE_PATTERN.matcher(contentType); if (zipMatcher.find()) { // 2.3 create new fileMeta final FileMeta zipMeta = new FileMeta(); zipMeta.setFileName(originalFilename); zipMeta.setFileSize(mpf.getSize() / 1024 + " Kb"); zipMeta.setFileType(mpf.getContentType()); final List<Path> picturesPaths = this.processArchive(mpf); final Collection<Future<Void>> futures = new ArrayList<>(picturesPaths.size()); final ExecutorService executorService = Executors .newFixedThreadPool(Runtime.getRuntime().availableProcessors()); for (final Path picturePath : picturesPaths) { final Future<Void> future = executorService.submit(new Callable<Void>() { @Override public Void call() throws Exception { final String pictureFileName = picturePath.getName(picturePath.getNameCount() - 1) .toString(); final byte[] pictureContents = Files.readAllBytes(picturePath); final FileMeta pictureMeta = new FileMeta(); try { final Picture picture = UploadPicturesController.this.createPicture(albumId, pictureFileName.toString(), pictureContents); final Long imageId = picture.getImage().getId(); final Long thumbnailId = picture.getThumbnail().getId(); pictureMeta.setFileName(pictureFileName); pictureMeta.setFileSize(pictureContents.length / 1024 + " Kb"); pictureMeta.setFileType(Files.probeContentType(picturePath)); pictureMeta.setUrl( response.encodeURL(ImageController.IMAGE_CONTROLLER_PATH + "/" + imageId)); pictureMeta.setThumbnailUrl(response .encodeURL(ImageController.IMAGE_CONTROLLER_PATH + "/" + thumbnailId)); } catch (final PictureAlreadyExistsException e) { // Picture already exists ! pictureMeta.setError( UploadPicturesController.PICTURE_ALREADY_EXISTS_MSG + e.getFilename()); } catch (final UnsupportedPictureTypeException e) { // Picture already exists ! pictureMeta.setError( UploadPicturesController.UNSUPPORTED_PICTURE_TYPE_MSG + e.getFilename()); } files.add(pictureMeta); return null; } }); futures.add(future); } for (final Future<Void> future : futures) { future.get(); } files.add(zipMeta); } final Matcher imgMatcher = UploadPicturesController.IMG_CONTENT_TYPE_PATTERN.matcher(contentType); if (imgMatcher.find()) { // 2.3 create new fileMeta final FileMeta fileMeta = new FileMeta(); try { final byte[] fileContents = mpf.getBytes(); final Picture picture = this.createPicture(albumId, originalFilename, fileContents); final Long imageId = picture.getImage().getId(); final Long thumbnailId = picture.getThumbnail().getId(); fileMeta.setFileName(originalFilename); fileMeta.setFileSize(mpf.getSize() / 1024 + " Kb"); fileMeta.setFileType(mpf.getContentType()); fileMeta.setBytes(fileContents); fileMeta.setUrl(response.encodeURL(ImageController.IMAGE_CONTROLLER_PATH + "/" + imageId)); fileMeta.setThumbnailUrl( response.encodeURL(ImageController.IMAGE_CONTROLLER_PATH + "/" + thumbnailId)); // 2.4 add to files files.add(fileMeta); } catch (final PictureAlreadyExistsException e) { // Picture already exists ! fileMeta.setError(UploadPicturesController.PICTURE_ALREADY_EXISTS_MSG); } } } // result will be like this // {files:[{"fileName":"app_engine-85x77.png","fileSize":"8 Kb","fileType":"image/png"},...]} return files; }
From source file:cn.mk.ndms.modules.lease.web.controller.LeaseController.java
@RequestMapping(value = "upload", method = RequestMethod.POST) @ResponseBody//from ww w.j a v a 2s . co m public AjaxBean upload(HttpServletRequest request, HttpServletResponse response) throws IOException { try { CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); if (multipartResolver.isMultipart(request)) { MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { MultipartFile file = multiRequest.getFile((String) iter.next()); if (file != null) { String fileName = file.getOriginalFilename(); String path1 = Thread.currentThread().getContextClassLoader().getResource("").getPath() + "file" + File.separator; // ??? String path2 = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + fileName; String path = path1 + path2; File localFile = new File(path); file.transferTo(localFile); Lease lease = leaseService.findOne(request.getParameter("id")); lease.setFilePath(path2); leaseService.update(lease); } } } return AjaxBean.getInstance("success"); } catch (Exception ex) { return AjaxBean.getInstance("error", ex.getMessage()); } }