Ключ заключается в использовании аннотаций @MultipartForm, которые поставляются с RESTEasy. Это позволяет вам определить POJO, который содержит все части формы, и легко связать его.
Возьмем, к примеру, следующий POJO:
public class FileUploadForm {
private byte[] filedata;
public FileUploadForm() {}
public byte[] getFileData() {
return filedata;
}
@FormParam("filedata")
@PartType("application/octet-stream")
public void setFileData(final byte[] filedata) {
this.filedata = filedata;
}
}
Теперь все, что вам нужно сделать, это использовать этот POJO в сущности, которая будет выглядеть примерно так:
@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Response create(@MultipartForm FileUploadForm form)
{
// Do something with your filedata here
}