hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhenyu Wang" <zhe...@rentmarketer.com>
Subject Problem with MultiPart Post - Uploading image
Date Wed, 13 Dec 2006 07:30:00 GMT
Hello All,

I have the problem with uploading images using the PostMethod of commons
HTTPClient (3.0.1).  The method is used to upload a .jpg image to one
external site along with posting other form text fields.   However, I got
the error message returned from the server when I excute the following code
- "Files not uploaded.  We only accept .jpg, or gif".  Strangely, the same
code has been  used  to upload the images to other external sites
sucessfully.  Any suggestion why is this happening?  Thanks.

// HTML form
<form name="newlist" action="
http://www.domainname.com/index.cfm?fuseaction=newlist"
enctype="multipart/form-data" method="POST" enablecab="NO">

  <input type="text name="text-field">
  <input type="file" name="photofile" value="" accept="image/gif,image/jpg">
  <input type="image" src="/upload.gif" alt="upload image" onClick="
document.newlist.submit();">

</form>

// posting code
public static void main(String[] args)
{
    ....

    PostMethod lPostMethod = new
PostMethod("http://www.domainname.com/index.cfm?fuseaction=newlist");
    List lParts = new ArrayList();

    // add string part
    lParts.add(new StringPart("text-field", "abc"));

    // add file part
    try
    {
        File lImageFile = new File("C:\\heart.jpg");
        FilePart lFilePart = new FilePart("photofile", lFile);
        lFilePart.setContentType("image/jpeg");
        lParts.add(lFilePart);

        MultipartRequestEntity multipartRequestEntity =
            new MultipartRequestEntity(lParts.toArray(new Part[0]),
lPostMethod.getParams());
        lPostMethod.setRequestEntity(multipartRequestEntity);

        HttpClient client = new HttpClient();

        int status = client.executeMethod(lPostMethod);
        if (status == 200) {
            String response = post.getResponseBodyAsString();
            System.out.println(attachmentGuid);
        }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      post.releaseConnection();
    }
}

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message