class MultipartWriter

Library: Net
Package: Messages
Header: Poco/Net/MultipartWriter.h


This class is used to write MIME multipart messages to an output stream.

The format of multipart messages is described in section 5.1 of RFC 2046.

To create a multipart message, first create a MultipartWriter object. Then, for each part, call nextPart() and write the content to the output stream. Repeat for all parts. After the last part has been written, call close() to finish the multipart message.

Member Summary

Member Functions: boundary, close, createBoundary, nextPart, stream



explicit MultipartWriter(
    std::ostream & ostr

Creates the MultipartWriter, using the given output stream.

Creates a random boundary string.


    std::ostream & ostr,
    const std::string & boundary

Creates the MultipartWriter, using the given output stream and boundary string.




Destroys the MultipartWriter.

Member Functions


const std::string & boundary() const;

Returns the multipart boundary used by this writer.


void close();

Closes the multipart message and writes the terminating boundary string.

Does not close the underlying stream.

createBoundary static

static std::string createBoundary();

Creates a random boundary string.

The string always has the form MIME_boundary_XXXXXXXXXXXX, where XXXXXXXXXXXX is a random hexadecimal number.


void nextPart(
    const MessageHeader & header

Opens a new message part and writes the message boundary string, followed by the message header to the stream.

stream inline

std::ostream & stream();

Returns the writer's stream.