Example usage for org.springframework.web.multipart MultipartResolver isMultipart

List of usage examples for org.springframework.web.multipart MultipartResolver isMultipart

Introduction

In this page you can find the example usage for org.springframework.web.multipart MultipartResolver isMultipart.

Prototype

boolean isMultipart(HttpServletRequest request);

Source Link

Document

Determine if the given request contains multipart content.

Usage

From source file:com.myhexin.filter.FileMultipartFilter.java

/**
 * //from  ww w  .  j ava  2  s .c  o  m
 */
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
        FilterChain filterChain) throws ServletException, IOException {

    MultipartResolver multipartResolver = lookupMultipartResolver(request);

    HttpServletRequest processedRequest = request;
    if (multipartResolver.isMultipart(processedRequest)) {
        if (logger.isDebugEnabled()) {
            logger.debug("Resolving multipart request [" + processedRequest.getRequestURI()
                    + "] with MultipartFilter");
        }
        processedRequest = multipartResolver.resolveMultipart(processedRequest);

        if (XSSSecurityConfig.IS_CHECK_HEADER || XSSSecurityConfig.IS_CHECK_PARAMETER) {
            if (isIlleageXssParam((MultipartHttpServletRequest) processedRequest)) {//??
                processedRequest.getRequestDispatcher(XSSSecurityConfig.XSS_ERROR_PAGE_PATH).forward(request,
                        response);
                return;
            }
        }

        if (FILE_FILTER_ISOPEN) {
            if (isIllegalFileSuffix((MultipartHttpServletRequest) processedRequest)) {//??
                processedRequest.getRequestDispatcher(XSSSecurityConfig.XSS_ERROR_PAGE_PATH).forward(request,
                        response);
                return;
            }
        }

    } else {
        if (logger.isDebugEnabled()) {
            logger.debug("Request [" + processedRequest.getRequestURI() + "] is not a multipart request");
        }
    }

    try {
        filterChain.doFilter(processedRequest, response);
    } finally {
        if (processedRequest instanceof MultipartHttpServletRequest) {
            multipartResolver.cleanupMultipart((MultipartHttpServletRequest) processedRequest);
        }
    }
}

From source file:com.github.zhanhb.ckfinder.connector.handlers.command.FileUploadCommand.java

/**
 *
 * @param request http request/*from  w  w  w.j a v a  2  s. c o  m*/
 * @param param the parameter
 * @param context ckfinder context
 * @throws ConnectorException when error occurs
 */
private void fileUpload(HttpServletRequest request, FileUploadParameter param, CKFinderContext context)
        throws ConnectorException {
    MultipartResolver multipartResolver = StandardHolder.RESOLVER;
    try {
        boolean multipart = multipartResolver.isMultipart(request);
        if (multipart) {
            log.debug("prepare resolveMultipart");
            MultipartHttpServletRequest resolveMultipart = multipartResolver.resolveMultipart(request);
            log.debug("finish resolveMultipart");
            try {
                Collection<MultipartFile> parts = resolveMultipart.getFileMap().values();
                for (MultipartFile part : parts) {
                    Path path = getPath(param.getType().getPath(), param.getCurrentFolder());
                    param.setFileName(getFileItemName(part));
                    validateUploadItem(part, path, param, context);
                    saveTemporaryFile(path, part, param, context);
                    return;
                }
            } finally {
                multipartResolver.cleanupMultipart(resolveMultipart);
            }
        }
        param.throwException("No file provided in the request.");
    } catch (MultipartException e) {
        log.debug("catch MultipartException", e);
        param.throwException(ErrorCode.UPLOADED_TOO_BIG);
    } catch (IOException e) {
        log.debug("catch IOException", e);
        param.throwException(ErrorCode.ACCESS_DENIED);
    }
}