I had a method:
@POST
@Consumes(\"multipart/form-data\")
@Produces( {\"text/xml\"})
public Response processForm(
@FormDataParam(\"myparam\") InputStream
You need to enable MultiPart feature on your application. Enabling this feature injects necessary message body readers, writers to your Jersey 2 application. Here is how you register them:
final ResourceConfig resourceConfig = new ResourceConfig(MultiPartResource.class);
resourceConfig.register(MultiPartFeature.class);
import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
public class MyApplication extends Application {
@Override
public Set> getClasses() {
final Set> classes = new HashSet>();
// register resources and features
classes.add(MultiPartFeature.class);
classes.add(MultiPartResource.class);
classes.add(LoggingFilter.class);
return classes;
}
}
Jersey Servlet
org.glassfish.jersey.servlet.ServletContainer
javax.ws.rs.Application
com.aruld.jersey.multipart.MyApplication
1
Jersey Servlet
/*
final ClientConfig clientConfig = new ClientConfig();
clientConfig.register(MultiPartFeature.class);
Client client = ClientFactory.newClient(clientConfig);
I put together an end-to-end Jersey 2 MultiPart sample in Github here.