List of usage examples for org.springframework.web.multipart MultipartHttpServletRequest getMultiFileMap
MultiValueMap<String, MultipartFile> getMultiFileMap();
From source file:com.yunmel.syncretic.core.BaseController.java
protected void uploadFile(HttpServletRequest request, String field, File file) { try {/*from www . j a v a 2 s . co m*/ if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultiValueMap<String, MultipartFile> map = multipartRequest.getMultiFileMap(); List<MultipartFile> files = map.get(field); MultipartFile _file = files.get(0); IOUtils.copyInputStreamToFile(_file.getInputStream(), file); } } catch (IOException e) { LOG.error("upload file error.", e); } }
From source file:com.yunmel.syncretic.core.BaseController.java
protected List<MultipartFile> getMultipartFiles(HttpServletRequest request, String field) { try {/*from w w w.j av a 2s . c o m*/ if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultiValueMap<String, MultipartFile> map = multipartRequest.getMultiFileMap(); return map.get(field); } } catch (Exception e) { LOG.error("upload file error.", e); } return null; }
From source file:com.yunmel.syncretic.core.BaseController.java
protected MultipartFile getMultipartFile(HttpServletRequest request, String field) { try {/* w w w .j a v a 2 s . com*/ if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultiValueMap<String, MultipartFile> map = multipartRequest.getMultiFileMap(); List<MultipartFile> files = map.get(field); return files.get(0); } } catch (Exception e) { LOG.error("upload file error.", e); } return null; }
From source file:com.yunmel.syncretic.core.BaseController.java
protected File uploadFile(HttpServletRequest request, String field) { try {//from ww w . ja v a 2 s.co m if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultiValueMap<String, MultipartFile> map = multipartRequest.getMultiFileMap(); List<MultipartFile> files = map.get(field); MultipartFile _file = files.get(0); File file = new File(RandomUtils.genRandom32Hex()); IOUtils.copyInputStreamToFile(_file.getInputStream(), file); return file; } } catch (IOException e) { LOG.error("upload file error.", e); } return null; }
From source file:fr.esiea.esieaddress.controllers.importation.CSVImportCtrl.java
@RequestMapping(method = RequestMethod.POST) @ResponseBody/*from w w w . j a va 2s.c om*/ @Secured("ROLE_USER") public void upload(MultipartHttpServletRequest files, final HttpServletRequest request) throws DaoException, ServiceException, FileNotFoundException { LOGGER.info("[IMPORT] Start to import contact"); //TODO Make it less verbose and may use a buffer to make it safer Map<String, MultipartFile> multipartFileMap = files.getMultiFileMap().toSingleValueMap(); Set<String> fileNames = multipartFileMap.keySet(); for (String fileName : fileNames) { MultipartFile multipartFile = multipartFileMap.get(fileName); String originalFilename = multipartFile.getOriginalFilename(); if (checkFileName(originalFilename) && multipartFile.getSize() < FILE_SIZE_MAX) { InputStream inputStream = null; try { inputStream = multipartFile.getInputStream(); } catch (IOException e) { throw new FileNotFoundException(e.toString()); } try (Reader contactsFile = new InputStreamReader(inputStream)) { Map<String, Object> modelErrors = new HashMap<>(); LOGGER.debug("[IMPORT] File is reading"); Collection<Contact> contacts = csvService.ReadContactCSV(contactsFile); for (Contact contact : contacts) { try { contactCrudService.insert(contact); } catch (ValidationException e) { Object modelError = e.getModel(); LOGGER.warn("found an error in contact " + modelError); modelErrors.put(contact.getId(), (Map) modelError); } } if (!modelErrors.isEmpty()) throw new ValidationException(modelErrors); } catch (IOException e) { throw new FileNotFoundException(e.toString()); } finally { if (inputStream != null) try { inputStream.close(); } catch (IOException e) { LOGGER.error("[IMPORT] Impossible to close the file " + inputStream.toString()); } } } } }
From source file:com.company.project.web.controller.FileUploadController.java
@RequestMapping(value = "/asyncUpload2", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @ResponseBody/*from w w w.j a v a 2 s.c o m*/ public ResponseEntity<String> asyncFileUpload2(HttpServletRequest request) throws Exception { MultipartHttpServletRequest mpr = (MultipartHttpServletRequest) request; if (request instanceof MultipartHttpServletRequest) { CommonsMultipartFile f = (CommonsMultipartFile) mpr.getFile("fileUpload"); List<MultipartFile> fs = (List<MultipartFile>) mpr.getFiles("fileUpload"); System.out.println("f: " + f); for (String key : mpr.getParameterMap().keySet()) { System.out.println("Param Key: " + key + "\n Value: " + mpr.getParameterMap().get(key)); } for (String key : mpr.getMultiFileMap().keySet()) { System.out.println("xParam Key: " + key + "\n xValue: " + mpr.getMultiFileMap().get(key)); } } FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); Map<String, Object> parameterMap = new HashMap<>(); Map<String, String> formfields = (Map<String, String>) parameterMap.get("formfields"); //if(request.getContentType().contains("multipart/form-data")){ if (ServletFileUpload.isMultipartContent(request)) { Map<String, Object> map = new HashMap<>(); List<FileItem> filefields = new ArrayList<>(); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { //contentType: "image/jpeg", isFormField: false, fileName: "Chrysanthemum.jpg" if (item.isFormField()) { formfields.put(item.getFieldName(), item.getString()); } else { filefields.add(item); } } parameterMap.put("filefields", filefields); } return new ResponseEntity<>("success", HttpStatus.OK); }
From source file:org.codehaus.groovy.grails.web.binding.GrailsDataBinder.java
private void bindWithRequestAndPropertyValues(ServletRequest request, MutablePropertyValues mpvs) { GrailsWebRequest webRequest = GrailsWebRequest.lookup((HttpServletRequest) request); if (webRequest != null) { final ApplicationContext applicationContext = webRequest.getApplicationContext(); if (applicationContext != null) { ServletContext servletContext = webRequest.getServletContext(); @SuppressWarnings("unchecked") Map<String, BindEventListener> bindEventListenerMap = (Map<String, BindEventListener>) servletContext .getAttribute(BIND_EVENT_LISTENERS); if (bindEventListenerMap == null) { bindEventListenerMap = applicationContext.getBeansOfType(BindEventListener.class); if (!Environment.isDevelopmentMode()) { servletContext.setAttribute(BIND_EVENT_LISTENERS, bindEventListenerMap); }//from w w w . ja va 2 s . c om } for (BindEventListener bindEventListener : bindEventListenerMap.values()) { bindEventListener.doBind(getTarget(), mpvs, getTypeConverter()); } } } preProcessMutablePropertyValues(mpvs); if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; bindMultipart(multipartRequest.getMultiFileMap(), mpvs); } doBind(mpvs); }
From source file:org.springframework.web.multipart.commons.CommonsMultipartResolver.java
@Override public void cleanupMultipart(MultipartHttpServletRequest request) { try {/*from ww w . j ava 2 s . c om*/ cleanupFileItems(request.getMultiFileMap()); } catch (Throwable ex) { logger.warn("Failed to perform multipart cleanup for servlet request", ex); } }
From source file:org.springframework.web.multipart.commons.CommonsMultipartResolverTests.java
private void doTestFiles(MultipartHttpServletRequest request) throws IOException { Set<String> fileNames = new HashSet<>(); Iterator<String> fileIter = request.getFileNames(); while (fileIter.hasNext()) { fileNames.add(fileIter.next());/* ww w. j a va 2 s.com*/ } assertEquals(3, fileNames.size()); assertTrue(fileNames.contains("field1")); assertTrue(fileNames.contains("field2")); assertTrue(fileNames.contains("field2x")); CommonsMultipartFile file1 = (CommonsMultipartFile) request.getFile("field1"); CommonsMultipartFile file2 = (CommonsMultipartFile) request.getFile("field2"); CommonsMultipartFile file2x = (CommonsMultipartFile) request.getFile("field2x"); Map<String, MultipartFile> fileMap = request.getFileMap(); assertEquals(3, fileMap.size()); assertTrue(fileMap.containsKey("field1")); assertTrue(fileMap.containsKey("field2")); assertTrue(fileMap.containsKey("field2x")); assertEquals(file1, fileMap.get("field1")); assertEquals(file2, fileMap.get("field2")); assertEquals(file2x, fileMap.get("field2x")); MultiValueMap<String, MultipartFile> multiFileMap = request.getMultiFileMap(); assertEquals(3, multiFileMap.size()); assertTrue(multiFileMap.containsKey("field1")); assertTrue(multiFileMap.containsKey("field2")); assertTrue(multiFileMap.containsKey("field2x")); List<MultipartFile> field1Files = multiFileMap.get("field1"); assertEquals(2, field1Files.size()); assertTrue(field1Files.contains(file1)); assertEquals(file1, multiFileMap.getFirst("field1")); assertEquals(file2, multiFileMap.getFirst("field2")); assertEquals(file2x, multiFileMap.getFirst("field2x")); assertEquals("type1", file1.getContentType()); assertEquals("type2", file2.getContentType()); assertEquals("type2", file2x.getContentType()); assertEquals("field1.txt", file1.getOriginalFilename()); assertEquals("field2.txt", file2.getOriginalFilename()); assertEquals("field2x.txt", file2x.getOriginalFilename()); assertEquals("text1", new String(file1.getBytes())); assertEquals("text2", new String(file2.getBytes())); assertEquals(5, file1.getSize()); assertEquals(5, file2.getSize()); assertTrue(file1.getInputStream() instanceof ByteArrayInputStream); assertTrue(file2.getInputStream() instanceof ByteArrayInputStream); File transfer1 = new File("C:/transfer1"); file1.transferTo(transfer1); File transfer2 = new File("C:/transfer2"); file2.transferTo(transfer2); assertEquals(transfer1, ((MockFileItem) file1.getFileItem()).writtenFile); assertEquals(transfer2, ((MockFileItem) file2.getFileItem()).writtenFile); }