Example usage for org.apache.commons.httpclient.methods MultipartPostMethod MultipartPostMethod

List of usage examples for org.apache.commons.httpclient.methods MultipartPostMethod MultipartPostMethod

Introduction

In this page you can find the example usage for org.apache.commons.httpclient.methods MultipartPostMethod MultipartPostMethod.

Prototype

public MultipartPostMethod(String paramString) 

Source Link

Usage

From source file:oscar.eform.actions.ManageEFormAction.java

public ActionForward exportEFormSend(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    String username = request.getParameter("username");
    String password = request.getParameter("password");

    String fid = request.getParameter("fid");
    MiscUtils.getLogger().debug("fid: " + fid);
    EForm eForm = new EForm(fid, "1");
    //===================
    HttpClient client = new HttpClient();
    client.getParams().setCookiePolicy(CookiePolicy.RFC_2109);

    PostMethod method = new PostMethod("http://mydrugref.org/sessions");

    method.addParameter("session[email]", username);
    method.addParameter("session[password]", password);

    int statusCode = client.executeMethod(method);

    //need to check if login worked

    byte[] responseBody = method.getResponseBody();

    MiscUtils.getLogger().debug(new String(responseBody));

    MiscUtils.getLogger()/*from w ww.jav a  2s  .c om*/
            .debug("--------------------------------------------------------------------------------------");
    MultipartPostMethod eformPost = new MultipartPostMethod("http://mydrugref.org/e_forms/");

    String documentDir = OscarProperties.getInstance().getProperty("DOCUMENT_DIR");
    File docDir = new File(documentDir);
    String exportFilename = "eformExport" + System.currentTimeMillis() + "" + (Math.random() * 100);
    MiscUtils.getLogger().debug("Exported file name " + exportFilename);
    File exportFile = new File(documentDir, exportFilename);

    FileOutputStream fos = new FileOutputStream(exportFile);

    EFormExportZip eFormExportZip = new EFormExportZip();
    List<EForm> eForms = new ArrayList<EForm>();
    eForms.add(eForm);
    eFormExportZip.exportForms(eForms, fos);
    fos.close();

    eformPost.addParameter("e_form[name]", eForm.getFormName());
    eformPost.addParameter("e_form[category]", request.getParameter("category"));
    eformPost.addParameter("e_form[uploaded_data]", exportFile.getName(), exportFile);

    int statusCode2 = client.executeMethod(eformPost);

    byte[] responseBody2 = eformPost.getResponseBody();

    MiscUtils.getLogger().debug("ST " + statusCode2);
    MiscUtils.getLogger().debug(new String(responseBody2));
    //TODO:Need to handle errors

    return mapping.findForward("success");
}