- Qt 6.10
- Qt Network
- C++ Classes
- QFormDataPartBuilder
- Qt 6.10.2 Reference Documentation

# QFormDataPartBuilder Class

The QFormDataPartBuilder class is a convenience class to simplify the construction of QHttpPart objects. More...

Header: | `#include <QFormDataPartBuilder>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Network)` `target_link_libraries(mytarget PRIVATE Qt6::Network)`
qmake: | `QT += network`
Since: | Qt 6.8

- List of all members, including inherited members
- QFormDataPartBuilder is part of Network Programming API and Implicitly Shared Classes.

## Public Functions

QFormDataPartBuilder | setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
QFormDataPartBuilder | setBodyDevice(QIODevice *body, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
QFormDataPartBuilder | setHeaders(const QHttpHeaders &headers)

## Detailed Description

The QFormDataPartBuilder class can be used to build a QHttpPart object with the content disposition header set to be form-data by default. Then the generated object can be used as part of a multipart message (which is represented by the QHttpMultiPart class).

See also QHttpPart, QHttpMultiPart, and QFormDataBuilder.

## Member Function Documentation

### QFormDataPartBuilder QFormDataPartBuilder::setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})

Sets data as the body of this MIME part and, if given, fileName as the file name parameter in the content disposition header.

If mimeType is not given (is empty), then QFormDataPartBuilder tries to auto-detect the mime-type of data using QMimeDatabase.

A subsequent call to setBodyDevice() discards the body and the device will be used instead.

For a large amount of data (e.g. an image), setBodyDevice() is preferred, which will not copy the data internally.

See also setBodyDevice().

### QFormDataPartBuilder QFormDataPartBuilder::setBodyDevice(QIODevice *body, QAnyStringView fileName = {}, QAnyStringView mimeType = {})

Sets body as the body device of this part and fileName as the file name parameter in the content disposition header.

If mimeType is not given (is empty), then QFormDataPartBuilder tries to auto-detect the mime-type of body using QMimeDatabase.

A subsequent call to setBody() discards the body device and the data set by setBody() will be used instead.

For large amounts of data this method should be preferred over setBody(), because the content is not copied when using this method, but read directly from the device.

body must be open and readable. QFormDataPartBuilder does not take ownership of body, i.e. the device must be closed and destroyed if necessary.

Note: If body is sequential (e.g. sockets, but not files), QNetworkAccessManager::post() should be called after body has emitted finished().

See also setBody() and QHttpPart::setBodyDevice().

### QFormDataPartBuilder QFormDataPartBuilder::setHeaders(const QHttpHeaders &headers)

Sets the headers specified in headers.

Note: The "content-type" and "content-disposition" headers, if any are specified in headers, will be overwritten by the class.