Class MultipartArgumentHelper
For the most common case post(@FormDataParam("file") InputStream stream,
@FormDataParam("file") FormDataContentDisposition fileDetail):
.post(multipart.fromClasspath("/some.txt"),
multipart.disposition("file", "some.txt")).
it could be a single field: post(@FormDataParam("file") FormDataBodyPart file):
.post(multipart.filePart("/some.txt"))
or to get file from classpath:
.post(multipart.streamPart("/some.txt")).
There might be multiple files for the same field
post(@FormDataParam("file") List<FormDataBodyPart> file):
.post(Arrays.asList(
multipart.filePart("/some.txt"),
multipart.filePart("/other.txt"))).
When method only accepts content-disposition mapping, it would be also used with en empty file content
(as file content is not required, preserve available data):
post(@FormDataParam("file") FormDataContentDisposition file)
.post(multipart.disposition("file", "some.txt")).
The method parameter could be a complete multipart object (with all fields inside):
post(FormDataMultiPart multiPart): for such cases there is a special builder:
.post(multipart.multipart()
.field("foo", "val")
.file("file1", "/some.txt)
.stream("file2", "/other.txt)
.build())- Since:
- 10.10.2025
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classMultipart object builder. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcreateDispositionHeader(String field, String filename) Header would contain both utf-8 and ascii filenames.org.glassfish.jersey.media.multipart.FormDataContentDispositiondisposition(String field, File file) Create content-disposition object.org.glassfish.jersey.media.multipart.FormDataContentDispositiondisposition(String field, String filename) Create content-disposition object.org.glassfish.jersey.media.multipart.file.FileDataBodyPartCreate file data part.org.glassfish.jersey.media.multipart.file.FileDataBodyPartCreate file data part from local file path.fromClasspath(String path) Useful for rest methods declaring input stream and content disposition object.Useful for rest methods declaring input stream and content disposition object.Multipart object builder.org.glassfish.jersey.media.multipart.FormDataBodyPartCreate simple data part.org.glassfish.jersey.media.multipart.file.StreamDataBodyPartstreamPart(String field, InputStream stream) Create stream data part.org.glassfish.jersey.media.multipart.file.StreamDataBodyPartstreamPart(String field, InputStream stream, @Nullable String filename) Create stream data part.org.glassfish.jersey.media.multipart.file.StreamDataBodyPartstreamPart(String field, String classpath) Create stream data part from classpath resource.
-
Constructor Details
-
MultipartArgumentHelper
public MultipartArgumentHelper()
-
-
Method Details
-
createDispositionHeader
Header would contain both utf-8 and ascii filenames.- Parameters:
field- field namefilename- file name- Returns:
- content-disposition header
-
fromClasspath
Useful for rest methods declaring input stream and content disposition object.- Parameters:
path- classpath path- Returns:
- input stream of classpath resource
- Throws:
IllegalStateException- if resource not found
-
fromFile
Useful for rest methods declaring input stream and content disposition object.- Parameters:
path- local file path (relative to work dir)- Returns:
- stream from local file
- Throws:
IllegalStateException- if file does not exist- See Also:
-
file
- Parameters:
path- local file path (relative to work dir)- Returns:
- file object
- Throws:
IllegalStateException- if file does not exist or it is a directory
-
disposition
public org.glassfish.jersey.media.multipart.FormDataContentDisposition disposition(String field, File file) Create content-disposition object. Useful for resource methods with input stream and disposition object.- Parameters:
field- field namefile- file to get filename from (may not exist)- Returns:
- content-disposition object
-
disposition
public org.glassfish.jersey.media.multipart.FormDataContentDisposition disposition(String field, String filename) Create content-disposition object. Useful for resource methods with input stream and disposition object. File name is applied as utf-8 and ascii.- Parameters:
field- field namefilename- file name- Returns:
- content-disposition object
-
part
Create simple data part.FormDataBodyPartcould be declared as resource method parameter.- Parameters:
field- field namevalue- field value- Returns:
- simple body part
-
filePart
Create file data part.FormDataBodyPartcould be declared as resource method parameter (but file part can't!).- Parameters:
field- field namefile- file object- Returns:
- file body part
-
filePart
public org.glassfish.jersey.media.multipart.file.FileDataBodyPart filePart(String field, String path) Create file data part from local file path.FormDataBodyPartcould be declared as resource method parameter (but file part can't!).- Parameters:
field- field namepath- local file path (relative to work dir)- Returns:
- file body part
- Throws:
IllegalStateException- if target file does not exist, or it is a directory
-
streamPart
public org.glassfish.jersey.media.multipart.file.StreamDataBodyPart streamPart(String field, InputStream stream) Create stream data part.FormDataBodyPartcould be declared as resource method parameter (but stream part can't!).Important: filename would be missed in this case!
- Parameters:
field- field namestream- stream- Returns:
- stream body part
-
streamPart
public org.glassfish.jersey.media.multipart.file.StreamDataBodyPart streamPart(String field, InputStream stream, @Nullable String filename) Create stream data part.FormDataBodyPartcould be declared as resource method parameter (but stream part can't!).- Parameters:
field- field namestream- streamfilename- optional filename- Returns:
- stream body part
-
streamPart
public org.glassfish.jersey.media.multipart.file.StreamDataBodyPart streamPart(String field, String classpath) Create stream data part from classpath resource.FormDataBodyPartcould be declared as resource method parameter (but stream part can't!).Note: filename is extracted from provided path.
- Parameters:
field- field nameclasspath- classpath path- Returns:
- stream body part
-
multipart
Multipart object builder. Useful when resource method parameter isFormDataMultiPart(used to obtain all multipart fields).- Returns:
- multipart object builder.
-