Hello, I've been trying to write the client side request to upload a file to my 
My service side code is

   * Upload a module, restricted to registered users only
  public Response addModule(MultipartFormDataInput input) throws Exception
  //Extracting the data …
    Map<String, List<InputPart>> uploadForm = input.getFormDataMap();
    List<InputPart> userInput = uploadForm.get("user");
    List<InputPart> pwdInput = uploadForm.get("password");
    String userName = userInput.get(0).getBody(String.class, null);
     String pwd = pwdInput.get(0).getBody(String.class, null)));
    List<InputPart> inputParts = uploadForm.get("file");
    String moduleFileName = null;
    for (InputPart inputPart : inputParts) {
      Module module = null;
      try {
        MultivaluedMap<String, String> header = inputPart.getHeaders();
        moduleFileName = getFileNameFromHeader(header);

        // convert the uploaded file to input stream
        InputStream inputStream = inputPart.getBody(InputStream.class, null);

        byte[] fileData = IOUtils.toByteArray(inputStream);
    //Do stuff with file here …..
    etc. etc….


 I can make this work as intended from a form, but I cannot figure out how to 
it work from my desktop app.

What I tried to do in the client is:

    ClientRequest request = new ClientRequest(BASEURL + URL_ROOT + "/module");
    MultipartFormDataOutput formData = new MultipartFormDataOutput();
    formData.addFormData("username", "bob", MediaType.TEXT_PLAIN_TYPE);
    formData.addFormData("password", "bobspwd", MediaType.TEXT_PLAIN_TYPE);
    File fileToUpload = new File("upload.zip");
    formData.addFormData("file", fileToUpload, 
    request.body(MediaType.MULTIPART_FORM_DATA, formData);
    ClientResponse response = request.post(Response.class);

But I get a Server 500 error back. In debug, I can see that the structure of 
the incoming MultipartFormDataInput input is not right,
generating NullPointerException errors.

But I cannot figure out how to set up the ClientRequest correctly.

Please consider the environment before printing this email.
NIWA is the trading name of the National Institute of Water & Atmospheric 
Research Ltd.

Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
Resteasy-users mailing list

Reply via email to