Class JakartaStreamMultiPartRequest
java.lang.Object
org.apache.struts2.dispatcher.multipart.AbstractMultiPartRequest
org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest
- All Implemented Interfaces:
MultiPartRequest
Multi-part form data request adapter for Jakarta Commons FileUpload package that
leverages the streaming API rather than the traditional non-streaming API.
For more details see WW-3025
- Since:
- 2.3.18
-
Field Summary
Fields inherited from class org.apache.struts2.dispatcher.multipart.AbstractMultiPartRequest
BUFFER_SIZE, bufferSize, defaultEncoding, errors, maxFiles, maxFileSize, maxSize, maxSizeOfFiles, maxStringLength, parameters, STRUTS_MESSAGES_UPLOAD_ERROR_PARAMETER_TOO_LONG_KEY, uploadedFiles
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Long
protected org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload
createJakartaFileUpload
(Charset charset, Path location) Creates an instance ofJakartaServletDiskFileUpload
used by the parser to extract uploaded filesprotected File
createTemporaryFile
(String fileName, Path location) Creates a temporary file based on the given filename and location.protected void
createUploadedFile
(org.apache.commons.fileupload2.core.FileItemInput fileItemInput, File file) CreateUploadedFile
abstraction over uploaded fileprotected void
processFileItemAsFileField
(org.apache.commons.fileupload2.core.FileItemInput fileItemInput, Path location) Processes the FileItem as a file field.protected void
processFileItemAsFormField
(org.apache.commons.fileupload2.core.FileItemInput fileItemInput) Processes the FileItem as a normal form field.protected void
processUpload
(jakarta.servlet.http.HttpServletRequest request, String saveDir) Processes the upload.protected void
streamFileToDisk
(org.apache.commons.fileupload2.core.FileItemInput fileItemInput, File file) Streams the file upload stream to the specified file.Methods inherited from class org.apache.struts2.dispatcher.multipart.AbstractMultiPartRequest
buildErrorMessage, cleanUp, exceedsMaxStringLength, getCanonicalName, getContentType, getErrors, getFile, getFileNames, getFileParameterNames, getFilesystemName, getParameter, getParameterNames, getParameterValues, parse, prepareServletFileUpload, readCharsetEncoding, sanitizeNewlines, setBufferSize, setDefaultEncoding, setMaxFiles, setMaxFileSize, setMaxSize, setMaxSizeOfFiles, setMaxStringLength
-
Constructor Details
-
JakartaStreamMultiPartRequest
public JakartaStreamMultiPartRequest()
-
-
Method Details
-
processUpload
protected void processUpload(jakarta.servlet.http.HttpServletRequest request, String saveDir) throws IOException Processes the upload.- Specified by:
processUpload
in classAbstractMultiPartRequest
- Parameters:
request
- the servlet requestsaveDir
- location of the save dir- Throws:
IOException
-
createJakartaFileUpload
protected org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload createJakartaFileUpload(Charset charset, Path location) Description copied from class:AbstractMultiPartRequest
Creates an instance ofJakartaServletDiskFileUpload
used by the parser to extract uploaded files- Specified by:
createJakartaFileUpload
in classAbstractMultiPartRequest
- Parameters:
charset
- used charset from incoming requestlocation
- a temporary folder to store uploaded files (not always needed)
-
processFileItemAsFormField
protected void processFileItemAsFormField(org.apache.commons.fileupload2.core.FileItemInput fileItemInput) throws IOException Processes the FileItem as a normal form field.- Parameters:
fileItemInput
- a form field item input- Throws:
IOException
-
actualSizeOfUploadedFiles
- Returns:
- actual size of already uploaded files
-
processFileItemAsFileField
protected void processFileItemAsFileField(org.apache.commons.fileupload2.core.FileItemInput fileItemInput, Path location) throws IOException Processes the FileItem as a file field.- Parameters:
fileItemInput
- file item representing upload filelocation
- location- Throws:
IOException
-
createTemporaryFile
Creates a temporary file based on the given filename and location.- Parameters:
fileName
- file namelocation
- location- Returns:
- a temporary file based on the given filename and location
-
streamFileToDisk
protected void streamFileToDisk(org.apache.commons.fileupload2.core.FileItemInput fileItemInput, File file) throws IOException Streams the file upload stream to the specified file.- Parameters:
fileItemInput
- file item inputfile
- the file- Throws:
IOException
-
createUploadedFile
protected void createUploadedFile(org.apache.commons.fileupload2.core.FileItemInput fileItemInput, File file) CreateUploadedFile
abstraction over uploaded file- Parameters:
fileItemInput
- file item streamfile
- the file
-