Class MultipartRequest

  • All Implemented Interfaces:
    javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest, org.apache.commons.fileupload.ProgressListener

    public class MultipartRequest
    extends javax.servlet.http.HttpServletRequestWrapper
    implements org.apache.commons.fileupload.ProgressListener
    HttpServletRequest Wrapper decoding multipart request and displaying MULTIPART_UPLOAD instead in file fields. The method getFileUploadStatus() may be called by AJAX request to follow upload status
    Since:
    jcms-5.7.0
    Author:
    Jean-Philippe Encausse
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String MULTIPART_UPLOAD  
      • Fields inherited from interface javax.servlet.http.HttpServletRequest

        BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
    • Constructor Summary

      Constructors 
      Constructor Description
      MultipartRequest​(javax.servlet.http.HttpServletRequest request, java.io.File directory, int sizeThreshold, long sizeMax, boolean cacheMultipart)
      Deprecated.
      since 10.0.7 / JCMS-9840 as this constructor does not set the countMax limit
      MultipartRequest​(javax.servlet.http.HttpServletRequest request, java.io.File directory, int sizeThreshold, long sizeMax, long countMax, boolean cacheMultipart)
      Wrap request for multipart handling.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.servlet.ServletInputStream getInputStream()  
      javax.servlet.http.HttpServletRequest getMultipartServletRequest()  
      java.lang.String getParameter​(java.lang.String name)  
      java.util.Map<java.lang.String,​java.lang.String[]> getParameterMap()  
      java.util.Enumeration<java.lang.String> getParameterNames()  
      java.lang.String[] getParameterValues​(java.lang.String name)  
      void setParameter​(java.lang.String key, java.lang.String value)  
      void setParameter​(java.lang.String key, java.lang.String[] values)  
      void update​(long pBytesRead, long pContentLength, int pItems)  
      • Methods inherited from class javax.servlet.http.HttpServletRequestWrapper

        authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade
      • Methods inherited from class javax.servlet.ServletRequestWrapper

        getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setRequest, startAsync, startAsync
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.servlet.ServletRequest

        getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
    • Field Detail

      • MULTIPART_UPLOAD

        public static final java.lang.String MULTIPART_UPLOAD
        See Also:
        Constant Field Values
    • Constructor Detail

      • MultipartRequest

        @Deprecated
        public MultipartRequest​(javax.servlet.http.HttpServletRequest request,
                                java.io.File directory,
                                int sizeThreshold,
                                long sizeMax,
                                boolean cacheMultipart)
                         throws java.io.UnsupportedEncodingException,
                                org.apache.commons.fileupload.FileUploadException
        Deprecated.
        since 10.0.7 / JCMS-9840 as this constructor does not set the countMax limit
        Throws:
        java.io.UnsupportedEncodingException
        org.apache.commons.fileupload.FileUploadException
      • MultipartRequest

        public MultipartRequest​(javax.servlet.http.HttpServletRequest request,
                                java.io.File directory,
                                int sizeThreshold,
                                long sizeMax,
                                long countMax,
                                boolean cacheMultipart)
                         throws java.io.UnsupportedEncodingException,
                                org.apache.commons.fileupload.FileUploadException
        Wrap request for multipart handling.
        Parameters:
        request - the HttpServletRequest to be handled as MultipartRequest
        directory - The data repository, which is the directory in which files will be created, should the item size exceed the threshold.
        sizeThreshold - The threshold, in bytes, below which items will be retained in memory and above which they will be stored as a file.
        sizeMax - The maximum allowed size of a single uploaded file.
        countMax - The maximum number of files allowed in a single request.
        cacheMultipart - true to use a CachedServletRequest/ CachedServletInputStream, false to directly use specified request
        Throws:
        java.io.UnsupportedEncodingException
        org.apache.commons.fileupload.FileUploadException
        Since:
        10.0.7 / JCMS-9840
    • Method Detail

      • update

        public void update​(long pBytesRead,
                           long pContentLength,
                           int pItems)
        Specified by:
        update in interface org.apache.commons.fileupload.ProgressListener
      • getMultipartServletRequest

        public javax.servlet.http.HttpServletRequest getMultipartServletRequest()
      • setParameter

        public void setParameter​(java.lang.String key,
                                 java.lang.String value)
      • setParameter

        public void setParameter​(java.lang.String key,
                                 java.lang.String[] values)
      • getInputStream

        public javax.servlet.ServletInputStream getInputStream()
                                                        throws java.io.IOException
        Specified by:
        getInputStream in interface javax.servlet.ServletRequest
        Overrides:
        getInputStream in class javax.servlet.ServletRequestWrapper
        Throws:
        java.io.IOException
        See Also:
        ServletRequest.getInputStream()
      • getParameter

        public java.lang.String getParameter​(java.lang.String name)
        Specified by:
        getParameter in interface javax.servlet.ServletRequest
        Overrides:
        getParameter in class javax.servlet.ServletRequestWrapper
        See Also:
        ServletRequest.getParameter(String)
      • getParameterMap

        public java.util.Map<java.lang.String,​java.lang.String[]> getParameterMap()
        Specified by:
        getParameterMap in interface javax.servlet.ServletRequest
        Overrides:
        getParameterMap in class javax.servlet.ServletRequestWrapper
        See Also:
        ServletRequest.getParameterMap()
      • getParameterNames

        public java.util.Enumeration<java.lang.String> getParameterNames()
        Specified by:
        getParameterNames in interface javax.servlet.ServletRequest
        Overrides:
        getParameterNames in class javax.servlet.ServletRequestWrapper
        See Also:
        ServletRequest.getParameterNames()
      • getParameterValues

        public java.lang.String[] getParameterValues​(java.lang.String name)
        Specified by:
        getParameterValues in interface javax.servlet.ServletRequest
        Overrides:
        getParameterValues in class javax.servlet.ServletRequestWrapper
        See Also:
        ServletRequest.getParameterValues(String)