Search code examples
httpfilemultipart

What should a Multipart HTTP request with multiple file inputs look like?


I'm working on an iPhone app that makes a multipart HTTP request with multiple image files.

It looks like what's happening, on the server side, is that one of the images is getting parsed properly, but the other two files are not.

Can anybody post a sample HTTP multipart request that contains multiple image files?


Solution

  • Well, note that the request contains binary data, so I'm not posting the request as such - instead, I've converted every non-printable-ascii character into a dot (".").

    POST /cgi-bin/qtest HTTP/1.1
    Host: aram
    User-Agent: Mozilla/5.0 Gecko/2009042316 Firefox/3.0.10
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://aram/~martind/banner.htm
    Content-Type: multipart/form-data; boundary=2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f
    Content-Length: 514
    
    --2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f
    Content-Disposition: form-data; name="datafile1"; filename="r.gif"
    Content-Type: image/gif
    
    GIF87a.............,...........D..;
    --2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f
    Content-Disposition: form-data; name="datafile2"; filename="g.gif"
    Content-Type: image/gif
    
    GIF87a.............,...........D..;
    --2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f
    Content-Disposition: form-data; name="datafile3"; filename="b.gif"
    Content-Type: image/gif
    
    GIF87a.............,...........D..;
    --2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f--
    

    Note that every line (including the last one) is terminated by a \r\n sequence.