List of usage examples for org.springframework.web.multipart MultipartResolver resolveMultipart
MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException;
From source file:com.jaspersoft.jasperserver.rest.RESTUtils.java
/** * Extract the attachments from the request and put the in the list of * input attachments of the service./*from w ww . ja va 2 s . c o m*/ * * The method returns the currenst HttpServletRequest if the message is not * multipart, otherwise it returns a MultipartHttpServletRequest * * * @param service * @param hRequest */ public static 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:org.hdiv.config.multipart.SpringMVCMultipartConfig.java
/** * Parses the input stream and partitions the parsed items into a set of form fields and a set of file items. * /*from w w w .ja va2 s .com*/ * @param request * The multipart request wrapper. * @param servletContext * Our ServletContext object * @throws HdivMultipartException * if an unrecoverable error occurs. */ public HttpServletRequest handleMultipartRequest(RequestWrapper request, ServletContext servletContext) throws HdivMultipartException { MultipartResolver multipartResolver = this.lookupMultipartResolver(servletContext); if (multipartResolver == null) { return request; } MultipartHttpServletRequest processedRequest = null; try { processedRequest = multipartResolver.resolveMultipart(request); } catch (MultipartException e) { HdivMultipartException exc = new HdivMultipartException(e); throw exc; } return processedRequest; }
From source file:com.myhexin.filter.FileMultipartFilter.java
/** * //from w w w . j ava 2 s . com */ @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 av a 2s. com * @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); } }
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 w w w .j a v a 2s . 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; }