- From: Steinar Bang <sb@metis.no>
- Date: 10 Dec 2000 20:25:12 +0100
- To: www-lib@w3.org
>>>>> Norbert Piega <npiega@SeeBeyond.com>: > Anybody out there with sample code for > posting multipart/form-data using libwww? I don't have any code in a usable shareable form. Basically you have to build a multipart/form-data request yourself. I build it into a char* buffer. Some things to be aware of: 1. all part header lines and boundary lines must be CRLF separated 2. the boundary between the parts starts with two "-" characters, the rest of the boundary, is what's given as the "boundary" parameter to the multipart/form-data MIME type 3. the terminating boundary has two extra "-" characters trailing it If "char* data" is a buffer holding the part set up above, and "char* boundary" is a text variable holding the boundary (except for the stuff added in 2 and 3), and "char* url" is the address you're POSTing to, the code for setting up the request, is something like this (NB! not tested as runnable code): ... HTParentAnchor* src = HTTmpAnchor(NULL); HTAnchor_setDocument(src,data); HTAnchor_setLength(src,strlen(data)); HTRequest* request = HTRequest_new(); HTAnchor_setFormat(src,HTAtom_for("multipart/form-data")); HTAnchor_addFormatParam(src,"boundary",boundary); HTAnchor* dest = HTAnchor_findAddress(url); int status = HTPutAnchor(src,dest,request); ... Some references: [1] RFC2388, the definition of the multipart/form-data MIME type <http://www.ietf.org/rfc/rfc2388.txt> [2] RFC2046, section 5 describes multiparts, and the syntax of multipart boundaries <http://www.ietf.org/rfc/rfc2046.txt>
Received on Sunday, 10 December 2000 14:28:20 UTC