# Poco::Net

# class MultipartWriter

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

## Description

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

## Constructors

### MultipartWriter

explicit MultipartWriter(
std::ostream & ostr
);

Creates the MultipartWriter, using the given output stream.

Creates a random boundary string.

### MultipartWriter

MultipartWriter(
std::ostream & ostr,
const std::string & boundary
);

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

## Destructor

### ~MultipartWriter

~MultipartWriter();

Destroys the MultipartWriter.

## Member Functions

### boundary

const std::string & boundary() const;

Returns the multipart boundary used by this writer.

### close

void close();

Closes the multipart message and writes the terminating boundary string.

Does not close the underlying stream.

### createBoundary

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.

### nextPart

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

std::ostream & stream();

Returns the writer's stream.