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

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

Introduction

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

Prototype

Map<String, MultipartFile> getFileMap();

Source Link

Document

Return a java.util.Map of the multipart files contained in this request.

Usage

From source file:org.openmrs.module.patientsummary.web.controller.PatientSummaryTemplateEditor.java

@RequestMapping(method = RequestMethod.POST)
public String saveTemplate(String templateUuid, String name, Class<? extends ReportRenderer> rendererType,
        String properties, String script, String scriptType, boolean enableOnPatientDashboard,
        HttpServletRequest request, ModelMap model) throws IOException {

    PatientSummaryTemplate template = getService().getPatientSummaryTemplateByUuid(templateUuid);

    PatientSummaryWebConfiguration.saveEnableTemplateOnPatientDashboard(template, enableOnPatientDashboard);

    template.getReportDesign().setName(name);
    template.getReportDesign().setRendererType(rendererType);

    if (!template.getReportDesign().getRendererType().equals(TextTemplateRenderer.class)) {
        MultipartHttpServletRequest mpr = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> files = mpr.getFileMap();

        MultipartFile resource = files.values().iterator().next();

        if (resource != null && !resource.isEmpty()) {
            ReportDesignResource designResource = new ReportDesignResource();
            designResource.setReportDesign(template.getReportDesign());
            designResource.setContents(resource.getBytes());
            designResource.setContentType(resource.getContentType());

            String fileName = resource.getOriginalFilename();
            int index = fileName.lastIndexOf(".");
            designResource.setName(fileName.substring(0, index));
            designResource.setExtension(fileName.substring(index + 1));

            template.getReportDesign().addResource(designResource);
        }//from   w w w  . j  a  va2  s.co  m

        WidgetHandler propHandler = HandlerUtil.getPreferredHandler(WidgetHandler.class, Properties.class);
        Properties props = (Properties) propHandler.parse(properties, Properties.class);
        template.getReportDesign().setProperties(props);
    } else {
        template.getReportDesign().getProperties().clear();
        template.getReportDesign().getResources().clear();

        ReportDesignResource designResource = new ReportDesignResource();
        designResource.setReportDesign(template.getReportDesign());
        designResource.setName("template");
        designResource.setContentType("text/html");
        designResource.setContents(script.getBytes("UTF-8"));

        template.getReportDesign().addResource(designResource);

        template.getReportDesign().addPropertyValue(TextTemplateRenderer.TEMPLATE_TYPE, scriptType);
    }

    getService().savePatientSummaryTemplate(template);

    model.put("templateUuid", template.getUuid());

    return "redirect:" + PatientSummaryWebConstants.MODULE_URL + "editTemplate.form";
}

From source file:net.shopxx.controller.shop.PaymentController.java

/**
 * //from   w  w  w  .j  a  v  a2 s . c o m
 */
@RequestMapping(value = "/upload", method = RequestMethod.POST, produces = "text/html; charset=UTF-8")
public @ResponseBody String upload(HttpServletRequest request, HttpServletResponse response) {
    Map<String, Object> result = new HashMap<String, Object>();
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
    Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
    for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
        MultipartFile mf = entity.getValue();
        String fileName = mf.getOriginalFilename();
        try {
            String fullPath = fileService.upload(FileType.image, mf, false);
            Setting setting = SettingUtils.get();
            String domain = setting.getSiteUrl();
            String path = fullPath.substring(domain.length());

            result.put("path", path);
            result.put("fullPath", fullPath);
            result.put("fileName", fileName);

            result.put("rtnKey", "1");
            result.put("rtnMsg", "??");
        } catch (Exception e) {
            result.put("rtnKey", "0");
            result.put("rtnMsg", e.toString());
        }
    }
    return JSONObject.toJSON(result).toString();
}

From source file:com.glaf.core.web.springmvc.MxDiskFileUploadJsonController.java

@RequestMapping
public void upload(HttpServletRequest request, HttpServletResponse response) throws Exception {
    response.setContentType("text/html; charset=UTF-8");
    String businessKey = request.getParameter("businessKey");
    String serviceKey = request.getParameter("serviceKey");
    // ?//from  w  w w . j av  a  2 s. c om
    LoginContext loginContext = RequestUtils.getLoginContext(request);
    String savePath = SystemProperties.getAppPath() + "/upload/" + loginContext.getUser().getId() + "/";
    // ?URL
    String saveUrl = request.getContextPath() + "/upload/" + loginContext.getUser().getId() + "/";
    if (StringUtils.isNotEmpty(serviceKey)) {
        saveUrl = saveUrl + serviceKey + "/";
    }
    // ???
    String[] fileTypes = new String[] { "gif", "jpg", "jpeg", "png", "bmp", "swf" };
    // ?
    long maxSize = 10240000;

    String allowSize = CustomProperties.getString("upload.maxSize");
    if (StringUtils.isEmpty(allowSize)) {
        allowSize = SystemProperties.getString("upload.maxSize");
    }

    if (StringUtils.isNotEmpty(allowSize) && StringUtils.isNumeric(allowSize)) {
        maxSize = Long.parseLong(allowSize);
    }

    // 
    File uploadDir = new File(savePath);
    try {
        if (!uploadDir.exists()) {
            FileUtils.mkdirs(savePath);
        }
    } catch (Exception ex) {
    }

    if (!uploadDir.isDirectory()) {
        response.getWriter().write(getError("?"));
        return;
    }
    // ??
    if (!uploadDir.canWrite()) {
        response.getWriter().write(getError("??"));
        return;
    }

    MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
    Map<String, MultipartFile> fileMap = req.getFileMap();
    Set<Entry<String, MultipartFile>> entrySet = fileMap.entrySet();
    for (Entry<String, MultipartFile> entry : entrySet) {
        MultipartFile mFile = entry.getValue();
        if (mFile.getOriginalFilename() != null && mFile.getSize() > 0) {
            // ?
            if (mFile.getSize() > maxSize) {
                response.getWriter().write(getError("??"));
                return;
            }
            String fileName = mFile.getOriginalFilename();
            // ??
            String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
            if (!Arrays.<String>asList(fileTypes).contains(fileExt)) {
                response.getWriter().write(getError("??????"));
                return;
            }
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
            String newFileName = df.format(new Date()) + "_" + new Random().nextInt(10000) + "." + fileExt;
            try {
                DataFile dataFile = new BlobItemEntity();
                dataFile.setBusinessKey(businessKey);
                dataFile.setCreateBy(loginContext.getActorId());
                dataFile.setCreateDate(new Date());
                dataFile.setFileId(newFileName);
                dataFile.setLastModified(System.currentTimeMillis());
                dataFile.setName(fileName);
                if (StringUtils.isNotEmpty(serviceKey)) {
                    dataFile.setServiceKey(serviceKey);
                } else {
                    dataFile.setServiceKey("IMG_" + loginContext.getActorId());
                }
                dataFile.setFilename(fileName);
                dataFile.setType(fileExt);
                dataFile.setSize(mFile.getSize());
                dataFile.setStatus(1);
                blobService.insertBlob(dataFile);

                FileUtils.save(savePath + sp + newFileName, mFile.getInputStream());

            } catch (Exception ex) {
                ex.printStackTrace();
                response.getWriter().write(getError("?"));
                return;
            }

            JSONObject object = new JSONObject();
            object.put("error", 0);
            object.put("url", saveUrl + newFileName);
            response.getWriter().write(object.toString());
        }
    }
}

From source file:com.glaf.jbpm.web.springmvc.MxJbpmDeployController.java

@RequestMapping(value = "/deploy", method = RequestMethod.POST)
public ModelAndView deploy(HttpServletRequest request, HttpServletResponse response) {
    String archive = request.getParameter("archive");
    if (LogUtils.isDebug()) {
        logger.debug("deploying archive " + archive);
    }//from  w  w w .j a v  a  2 s  .  c  o  m

    MxJbpmProcessDeployer deployer = new MxJbpmProcessDeployer();

    byte[] bytes = null;
    JbpmContext jbpmContext = null;
    try {
        jbpmContext = ProcessContainer.getContainer().createJbpmContext();

        if (jbpmContext != null && jbpmContext.getSession() != null) {
            MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
            Map<String, MultipartFile> fileMap = req.getFileMap();
            Set<Entry<String, MultipartFile>> entrySet = fileMap.entrySet();
            for (Entry<String, MultipartFile> entry : entrySet) {
                MultipartFile mFile = entry.getValue();
                if (mFile.getOriginalFilename() != null && mFile.getSize() > 0) {
                    ProcessDefinition processDefinition = deployer.deploy(jbpmContext, mFile.getBytes());
                    bytes = processDefinition.getFileDefinition().getBytes("processimage.jpg");
                    response.setContentType("image/jpeg");
                    response.setHeader("Pragma", "No-cache");
                    response.setHeader("Expires", "-1");
                    response.setHeader("ICache-Control", "no-cache");
                    response.setDateHeader("Expires", 0L);
                    OutputStream out = response.getOutputStream();
                    out.write(bytes);
                    out.flush();
                    out.close();
                    bytes = null;
                    return null;
                }
            }
        }
    } catch (JbpmException ex) {
        if (jbpmContext != null) {
            jbpmContext.setRollbackOnly();
        }
        request.setAttribute("error_code", 9912);
        request.setAttribute("error_message", "");
        return new ModelAndView("/error");
    } catch (IOException ex) {
        if (jbpmContext != null) {
            jbpmContext.setRollbackOnly();
        }
        request.setAttribute("error_code", 9912);
        request.setAttribute("error_message", "");
        return new ModelAndView("/error");
    } finally {
        Context.close(jbpmContext);
        bytes = null;
    }
    return null;
}

From source file:org.lightadmin.core.web.RepositoryFilePropertyController.java

@RequestMapping(value = BASE_MAPPING + "/file", method = { POST })
public ResponseEntity<? extends ResourceSupport> saveFilePropertyOfEntity(
        final ServletServerHttpRequest request) throws Exception {
    final MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request
            .getServletRequest();/*ww w  . j a v  a 2s .  com*/

    final Map<String, MultipartFile> fileMap = multipartHttpServletRequest.getFileMap();

    if (!fileMap.isEmpty()) {
        final Map.Entry<String, MultipartFile> fileEntry = fileMap.entrySet().iterator().next();

        return toResponseEntity(OK, new HttpHeaders(), fileResource(fileEntry));
    }

    return toEmptyResponse(METHOD_NOT_ALLOWED);
}

From source file:com.ms.commons.summer.web.multipart.CommonsMultipartEngancedResolver.java

public void cleanupMultipart(MultipartHttpServletRequest request) {
    if (request != null) {
        try {/*from w w w. ja v  a2  s  . c om*/
            cleanupFileItems(request.getFileMap().values());
        } catch (Throwable ex) {
            logger.warn("Failed to perform multipart cleanup for servlet request", ex);
        }
    }
}

From source file:cz.zcu.kiv.eegdatabase.logic.controller.experiment.AddDataFileController.java

/**
 * Processing of the valid form// w w w. ja v  a2 s  .  c  o m
 */
@Override
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
        BindException bindException) throws Exception {
    log.debug("Processing form data.");
    AddDataFileCommand addDataCommand = (AddDataFileCommand) command;
    MultipartHttpServletRequest mpRequest = (MultipartHttpServletRequest) request;
    // the map containing file names mapped to files
    Map m = mpRequest.getFileMap();
    Set set = m.keySet();
    for (Object key : set) {
        MultipartFile file = (MultipartFile) m.get(key);

        if (file == null) {
            log.error("No file was uploaded!");
        } else {
            log.debug("Creating measuration with ID " + addDataCommand.getMeasurationId());
            Experiment experiment = new Experiment();
            experiment.setExperimentId(addDataCommand.getMeasurationId());
            if (file.getOriginalFilename().endsWith(".zip")) {
                ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(file.getBytes()));
                ZipEntry en = zis.getNextEntry();
                while (en != null) {
                    if (en.isDirectory()) {
                        en = zis.getNextEntry();
                        continue;
                    }
                    DataFile data = new DataFile();
                    data.setExperiment(experiment);
                    String name[] = en.getName().split("/");
                    data.setFilename(name[name.length - 1]);
                    data.setDescription(addDataCommand.getDescription());
                    data.setFileContent(Hibernate.createBlob(zis));
                    String[] partOfName = en.getName().split("[.]");
                    data.setMimetype(partOfName[partOfName.length - 1]);
                    dataFileDao.create(data);
                    en = zis.getNextEntry();
                }
            } else {
                log.debug("Creating new Data object.");
                DataFile data = new DataFile();
                data.setExperiment(experiment);

                log.debug("Original name of uploaded file: " + file.getOriginalFilename());
                String filename = file.getOriginalFilename().replace(" ", "_");
                data.setFilename(filename);

                log.debug("MIME type of the uploaded file: " + file.getContentType());
                if (file.getContentType().length() > MAX_MIMETYPE_LENGTH) {
                    int index = filename.lastIndexOf(".");
                    data.setMimetype(filename.substring(index));
                } else {
                    data.setMimetype(file.getContentType());
                }

                log.debug("Parsing the sapmling rate.");
                data.setDescription(addDataCommand.getDescription());

                log.debug("Setting the binary data to object.");
                data.setFileContent(Hibernate.createBlob(file.getBytes()));

                dataFileDao.create(data);
                log.debug("Data stored into database.");
            }
        }
    }

    log.debug("Returning MAV");
    ModelAndView mav = new ModelAndView(
            "redirect:/experiments/detail.html?experimentId=" + addDataCommand.getMeasurationId());
    return mav;
}

From source file:org.biopax.validator.ws.ValidatorController.java

/**
 * JSP pages and RESTful web services controller, the main one that checks BioPAX data.
 * All parameter names are important, i.e., these are part of public API (for clients)
 * /*from w w w.  j a  v  a  2 s .  c om*/
 * Framework's built-in parameters:
 * @param request the web request object (may contain multi-part data, i.e., multiple files uploaded)
 * @param response 
 * @param mvcModel Spring MVC Model
 * @param writer HTTP response writer
 * 
 * BioPAX Validator/Normalizer query parameters:
 * @param url
 * @param retDesired
 * @param autofix
 * @param filter
 * @param maxErrors
 * @param profile
 * @param normalizer binds to three boolean options: normalizer.fixDisplayName, normalizer.inferPropertyOrganism, normalizer.inferPropertyDataSource
 * @return
 * @throws IOException
 */
@RequestMapping(value = "/check", method = RequestMethod.POST)
public String check(HttpServletRequest request, HttpServletResponse response, Model mvcModel, Writer writer,
        @RequestParam(required = false) String url, @RequestParam(required = false) String retDesired,
        @RequestParam(required = false) Boolean autofix, @RequestParam(required = false) Behavior filter,
        @RequestParam(required = false) Integer maxErrors, @RequestParam(required = false) String profile,
        //normalizer!=null when called from the JSP; 
        //but it's usually null when from the validator-client or a web script
        @ModelAttribute("normalizer") Normalizer normalizer) throws IOException {
    Resource resource = null; // a resource to validate

    // create the response container
    ValidatorResponse validatorResponse = new ValidatorResponse();

    if (url != null && url.length() > 0) {
        if (url != null)
            log.info("url : " + url);
        try {
            resource = new UrlResource(url);
        } catch (MalformedURLException e) {
            mvcModel.addAttribute("error", e.toString());
            return "check";
        }

        try {
            Validation v = execute(resource, resource.getDescription(), maxErrors, autofix, filter, profile,
                    normalizer);
            validatorResponse.addValidationResult(v);
        } catch (Exception e) {
            return errorResponse(mvcModel, "check", "Exception: " + e);
        }

    } else if (request instanceof MultipartHttpServletRequest) {
        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
        Map files = multiRequest.getFileMap();
        Assert.state(!files.isEmpty(), "No files to validate");
        for (Object o : files.values()) {
            MultipartFile file = (MultipartFile) o;
            String filename = file.getOriginalFilename();
            // a workaround (for some reason there is always a no-name-file;
            // this might be a javascript isue)
            if (file.getBytes().length == 0 || filename == null || "".equals(filename))
                continue;

            log.info("check : " + filename);

            resource = new ByteArrayResource(file.getBytes());

            try {
                Validation v = execute(resource, filename, maxErrors, autofix, filter, profile, normalizer);
                validatorResponse.addValidationResult(v);
            } catch (Exception e) {
                return errorResponse(mvcModel, "check", "Exception: " + e);
            }

        }
    } else {
        return errorResponse(mvcModel, "check", "No BioPAX input source provided!");
    }

    if ("xml".equalsIgnoreCase(retDesired)) {
        response.setContentType("application/xml");
        ValidatorUtils.write(validatorResponse, writer, null);
    } else if ("html".equalsIgnoreCase(retDesired)) {
        /* could also use ValidatorUtils.write with a xml-to-html xslt source
         but using JSP here makes it easier to keep the same style, header, footer*/
        mvcModel.addAttribute("response", validatorResponse);
        return "groupByCodeResponse";
    } else { // owl only
        response.setContentType("text/plain");
        // write all the OWL results one after another TODO any better solution?
        for (Validation result : validatorResponse.getValidationResult()) {
            if (result.getModelData() != null)
                writer.write(result.getModelData() + NEWLINE);
            else
                // empty result
                writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<rdf:RDF></rdf:RDF>" + NEWLINE);
        }
    }

    return null; // (Writer is used instead)
}

From source file:com.glaf.core.web.springmvc.MxDBUploadJsonController.java

@RequestMapping
public void upload(HttpServletRequest request, HttpServletResponse response) throws Exception {
    response.setContentType("text/html; charset=UTF-8");

    LoginContext loginContext = RequestUtils.getLoginContext(request);

    // ???//from   w w  w  .  ja v a  2s .c o  m
    String[] fileTypes = new String[] { "gif", "jpg", "jpeg", "png", "bmp", "swf" };
    // ?
    long maxSize = FileUtils.MB_SIZE * 5;

    String allowSize = CustomProperties.getString("upload.maxSize");
    if (StringUtils.isEmpty(allowSize)) {
        allowSize = SystemProperties.getString("upload.maxSize");
    }

    if (StringUtils.isNotEmpty(allowSize) && StringUtils.isNumeric(allowSize)) {
        maxSize = Long.parseLong(allowSize);
    }

    MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
    String businessKey = request.getParameter("businessKey");
    String serviceKey = request.getParameter("serviceKey");
    Map<String, MultipartFile> fileMap = req.getFileMap();
    Set<Entry<String, MultipartFile>> entrySet = fileMap.entrySet();
    for (Entry<String, MultipartFile> entry : entrySet) {
        MultipartFile mFile = entry.getValue();
        if (mFile.getOriginalFilename() != null && mFile.getSize() > 0) {
            // ?
            if (mFile.getSize() > maxSize) {
                response.getWriter().write(getError("??"));
                return;
            }
            String fileName = mFile.getOriginalFilename();
            // ??
            String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
            if (!Arrays.<String>asList(fileTypes).contains(fileExt)) {
                response.getWriter().write(getError("??????"));
                return;
            }
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
            String newFileName = df.format(new Date()) + "_" + new Random().nextInt(10000) + "." + fileExt;
            try {
                DataFile dataFile = new BlobItemEntity();
                dataFile.setBusinessKey(businessKey);
                dataFile.setCreateBy(loginContext.getActorId());
                dataFile.setCreateDate(new Date());
                dataFile.setFileId(newFileName);
                dataFile.setLastModified(System.currentTimeMillis());
                dataFile.setName(fileName);
                if (StringUtils.isNotEmpty(serviceKey)) {
                    dataFile.setServiceKey(serviceKey);
                } else {
                    dataFile.setServiceKey("IMG_" + loginContext.getActorId());
                }
                dataFile.setData(mFile.getBytes());
                dataFile.setFilename(fileName);
                dataFile.setType(fileExt);
                dataFile.setSize(mFile.getSize());
                dataFile.setStatus(1);
                blobService.insertBlob(dataFile);
            } catch (Exception ex) {
                ex.printStackTrace();
                response.getWriter().write(getError(""));
                return;
            }

            JSONObject object = new JSONObject();
            object.put("error", 0);
            object.put("url", request.getContextPath() + "/rs/blob/file/" + newFileName);
            response.getWriter().write(object.toString());
        }
    }
}

From source file:com.newline.view.common.controller.RegistController.java

/**
 * //from   w ww  .ja va 2s .  co m
 * 
 * ?
 * 
 * @param enterpriseinfo
 * @return
 * @see
 * @author  2015-8-19?9:34:26
 * @since 1.0
 */
@RequestMapping(value = "/companyRegist", method = RequestMethod.POST)
@ResponseBody
public Result enterpriseinfoRegist(HttpServletRequest request, RedirectAttributes redirectAttributes) {
    // ?
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
    Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
    try {
        // ???
        NlCompanyEntity company = new NlCompanyEntity();
        String name = request.getParameter("name");
        if (StringUtils.isNotBlank(name)) {
            company.setName(name);
        }
        String province = request.getParameter("province");
        if (StringUtils.isNotBlank(province)) {
            company.setProvince(province);
        }
        String pcity = request.getParameter("pcity");
        if (StringUtils.isNotBlank(pcity)) {
            company.setPcity(pcity);
        }
        String area = request.getParameter("area");
        if (StringUtils.isNotBlank(area)) {
            company.setArea(area);
        }
        String address = request.getParameter("address");
        if (StringUtils.isNotBlank(address)) {
            company.setAddress(address);
        }
        String realname = request.getParameter("realname");
        if (StringUtils.isNotBlank(realname)) {
            company.setRealname(realname);
        }
        String position = request.getParameter("position");
        if (StringUtils.isNotBlank(position)) {
            company.setPosition(position);
        }
        String telephone = request.getParameter("telephone");
        if (StringUtils.isNotBlank(telephone)) {
            company.setTelephone(telephone);
        }
        String size = request.getParameter("size");
        if (StringUtils.isNotBlank(size)) {
            company.setSize(size);
        }

        String industryid = request.getParameter("industryid");
        if (StringUtils.isNotBlank(industryid)) {
            company.setIndustryid(Integer.parseInt(industryid));
        }
        company.setCreatedtime(new Date());
        company.setUpdatetime(new Date());
        // ??
        NlMemberEntity member = new NlMemberEntity();
        String email = request.getParameter("email");
        if (StringUtils.isNotBlank(email)) {
            member.setEmail(email);
            company.setEmail(email);
        }
        String password = request.getParameter("password");
        if (StringUtils.isNotBlank(password)) {
            member.setPassword(password);
        }
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            MultipartFile file = entity.getValue();
            String newfileName = QiNiuUtils.uploadImg(file);
            company.setLicense(newfileName);
        }
        return registService.companyRegist(member, company);
    } catch (Exception e) {
        log.error("" + e.getMessage());
        Result result = new Result();
        result.setResult(false);
        result.setMsg("");
        return result;
    }
    // 2??

}