public class StandardPortletMultipartResolver extends Object implements PortletMultipartResolver
MultipartResolver
interface, based on the Servlet 3.0 Part
API. To be added as "portletMultipartResolver" bean to a Spring DispatcherServlet context,
without any extra configuration at the bean level (see below).
Note: In order to use Portlet 3.0 based multipart parsing, you need to mark the affected servlet with a
"multipart-config" section in portlet.xml
, or (in case of a custom portlet class) possibly with a Multipart
annotation on your portlet class. Configuration settings such as maximum sizes
or storage locations need to be applied at that portlet registration level.
setResolveLazily(boolean)
,
ClientDataRequest.getParts()
,
CommonsMultipartResolver
Modifier and Type | Class and Description |
---|---|
protected static class |
StandardPortletMultipartResolver.MultipartParsingResult
Holder for a Map of Spring MultipartFiles and a Map of multipart parameters.
|
Constructor and Description |
---|
StandardPortletMultipartResolver() |
Modifier and Type | Method and Description |
---|---|
void |
cleanupMultipart(MultipartActionRequest multipartActionRequest)
Cleanup any resources used for the multipart handling, such as storage for any uploaded file(s).
|
void |
cleanupMultipart(MultipartResourceRequest multipartResourceRequest)
Cleanup any resources used for the multipart handling, such as storage for any uploaded file(s).
|
protected String |
filterFilename(String fileName) |
boolean |
isMultipart(javax.portlet.ActionRequest actionRequest)
Determine if the given request contains multipart content.
|
boolean |
isMultipart(javax.portlet.ResourceRequest resourceRequest)
Determine if the given request contains multipart content.
|
protected StandardPortletMultipartResolver.MultipartParsingResult |
parseRequest(javax.portlet.ClientDataRequest clientDataRequest)
Parse the given portlet actionRequest, resolving its multipart elements.
|
MultipartActionRequest |
resolveMultipart(javax.portlet.ActionRequest actionRequest)
Parse the given portlet request into multipart files and parameters, and wrap the request inside a
MultipartActionRequest object that provides access to file descriptors and makes contained parameters accessible
via the standard PortletRequest methods.
|
MultipartResourceRequest |
resolveMultipart(javax.portlet.ResourceRequest resourceRequest)
Parse the given portlet request into multipart files and parameters, and wrap the request inside a
MultipartResourceRequest object that provides access to file descriptors and makes contained parameters
accessible via the standard PortletRequest methods.
|
void |
setResolveLazily(boolean resolveLazily)
Set whether to resolve the multipart request lazily at the time of file or parameter access.
|
public void cleanupMultipart(MultipartActionRequest multipartActionRequest)
PortletMultipartResolver
cleanupMultipart
in interface PortletMultipartResolver
multipartActionRequest
- the request to cleanup resources forpublic void cleanupMultipart(MultipartResourceRequest multipartResourceRequest)
PortletMultipartResolver
cleanupMultipart
in interface PortletMultipartResolver
multipartResourceRequest
- the request to cleanup resources forpublic boolean isMultipart(javax.portlet.ActionRequest actionRequest)
PortletMultipartResolver
Will typically check for content type"multipart/form-data
", but the actually accepted requests might
depend on the capabilities of the resolver implementation.
isMultipart
in interface PortletMultipartResolver
actionRequest
- the portlet request to be evaluatedpublic boolean isMultipart(javax.portlet.ResourceRequest resourceRequest)
PortletMultipartResolver
Will typically check for content type"multipart/form-data
", but the actually accepted requests might
depend on the capabilities of the resolver implementation.
isMultipart
in interface PortletMultipartResolver
resourceRequest
- the portlet request to be evaluatedpublic MultipartActionRequest resolveMultipart(javax.portlet.ActionRequest actionRequest) throws MultipartException
PortletMultipartResolver
resolveMultipart
in interface PortletMultipartResolver
actionRequest
- the portlet request to wrap (must be of a multipart content type)MultipartException
- if the portlet request is not multipart, or if
implementation-specific problems are encountered
(such as exceeding file size limits)MultipartRequest.getFile(java.lang.String)
,
MultipartRequest.getFileNames()
,
MultipartRequest.getFileMap()
,
PortletRequest.getParameter(java.lang.String)
,
PortletRequest.getParameterNames()
,
PortletRequest.getParameterMap()
public MultipartResourceRequest resolveMultipart(javax.portlet.ResourceRequest resourceRequest) throws MultipartException
PortletMultipartResolver
resolveMultipart
in interface PortletMultipartResolver
resourceRequest
- the portlet request to wrap (must be of a multipart content type)MultipartException
- if the portlet request is not multipart, or if
implementation-specific problems are encountered
(such as exceeding file size limits)MultipartRequest.getFile(java.lang.String)
,
MultipartRequest.getFileNames()
,
MultipartRequest.getFileMap()
,
PortletRequest.getParameter(java.lang.String)
,
PortletRequest.getParameterNames()
,
PortletRequest.getParameterMap()
public void setResolveLazily(boolean resolveLazily)
Default is "false", resolving the multipart elements immediately, throwing corresponding exceptions at the
time of the resolveMultipart(javax.portlet.ActionRequest)
call. Switch this to "true" for lazy multipart parsing, throwing parse
exceptions once the application attempts to obtain multipart files or parameters.
protected StandardPortletMultipartResolver.MultipartParsingResult parseRequest(javax.portlet.ClientDataRequest clientDataRequest) throws MultipartException
clientDataRequest
- the request to parseMultipartException
- if multipart resolution failed.Copyright © 2019 Liferay, Inc.. All rights reserved.