Example usage for org.springframework.web.multipart MultipartHttpServletRequest getMultiFileMap

List of usage examples for org.springframework.web.multipart MultipartHttpServletRequest getMultiFileMap

Introduction

In this page you can find the example usage for org.springframework.web.multipart MultipartHttpServletRequest getMultiFileMap.

Prototype

MultiValueMap<String, MultipartFile> getMultiFileMap();

Source Link

Document

Return a MultiValueMap of the multipart files contained in this request.

Usage

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);

}