File upload with Jersey : FormDataContentDisposition is null
java, jersey, rest
Solution
I found why it wasn't working : It is because the name you choose after the FormDataParameter("myForm") has to be the same as the name you choosed in your HTML form (name = "myForm")
So,
@FormDataParam("myForm") InputStream uploadedInputStream,
@FormDataParam("myform") FormDataContentDisposition fileDetail)
And the form has to be like
<form action=".../rest/fileupload" method="post" enctype="multipart/form-data">
<p>
Select a file : <input type="file" name="myForm"/>
</p>
<input type="submit" value="Upload It" />
</form>
Hope it will help some other beginners like me :)
Problem
I'm trying to implement file upload with Jersey so I followed this example : http://www.mkyong.com/webservices/jax-rs/file-upload-example-in-jersey/ which worked well with an HTML page. Now I adapted it to my application, here is code : ``` public Response uploadFile( @FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail) throws IOException { Response.Status respStatus = Response.Status.OK; if (fileDetail == null) { respStatus = Response.Status.INTERNAL_SERVER_ERROR; } else { try { initPath(); if (fileDetail.getSize() > OntoWebStudioUtil .getUploadFileLimit()) { respStatus = Response.Status.NOT_ACCEPTABLE; return Response.status(respStatus).build(); } writeToFile(uploadedInputStream, tempDirectory); } catch (Exception e) { respStatus = Response.Status.INTERNAL_SERVER_ERROR; e.printStackTrace(); } } return Response.status(respStatus).build(); } ``` But with debug view, once I uploaded my picture and pushed the button send and then get here, uploadedInputStream and fileDetail are null. So I can do nothing... I am a beginner with Servlet and then REST, so please be indulgent. Thank you.