Sur cette page

QFormDataPartBuilder Class

La classe QFormDataPartBuilder est une classe de commodité qui simplifie la construction des objets QHttpPart. Plus d'informations...

En-tête : #include <QFormDataPartBuilder>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network
Depuis : Qt 6.8

Fonctions publiques

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

Description détaillée

La classe QFormDataPartBuilder peut être utilisée pour construire un objet QHttpPart dont l'en-tête de disposition du contenu est défini par défaut comme étant un formulaire de données. L'objet généré peut ensuite être utilisé dans le cadre d'un message multipartite (représenté par la classe QHttpMultiPart ).

Voir aussi QHttpPart, QHttpMultiPart, et QFormDataBuilder.

Documentation des fonctions membres

[default] QFormDataPartBuilder::QFormDataPartBuilder(const QFormDataPartBuilder &other)

Construit une copie de other. L'objet est valide tant que le QFormDataBuilder associé n'a pas été détruit.

Les données de la copie sont partagées (shallow copy) : modifier une partie modifiera également l'autre.

QFormDataPartBuilder foo()
{
    QFormDataBuilder builder;
    auto qfdpb1 = builder.part("First"_L1);
    auto qfdpb2 = qfdpb1; // this creates a shallow copy

    qfdpb2.setBodyDevice(&image, "cutecat.jpg"); // qfdpb1 is also modified

    return qfdbp2;  // invalid, builder is destroyed at the end of the scope
}

[noexcept default] QFormDataPartBuilder::QFormDataPartBuilder(QFormDataPartBuilder &&other)

Move-construit une instance de QFormDataPartBuilder, en la faisant pointer sur le même objet que other.

[noexcept default] QFormDataPartBuilder::~QFormDataPartBuilder()

Détruit l'objet QFormDataPartBuilder.

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

Définit data comme le corps de cette partie MIME et, s'il est donné, fileName comme le paramètre de nom de fichier dans l'en-tête de disposition du contenu.

Si mimeType n'est pas donné (est vide), alors QFormDataPartBuilder tente d'auto-détecter le type MIME de data en utilisant QMimeDatabase.

Un appel ultérieur à setBodyDevice() rejette le corps et le périphérique sera utilisé à la place.

Pour une grande quantité de données (par exemple une image), il est préférable d'utiliser setBodyDevice(), qui ne copiera pas les données en interne.

Voir aussi setBodyDevice().

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

Définit body comme périphérique de corps de cette partie et fileName comme paramètre de nom de fichier dans l'en-tête de disposition du contenu.

Si mimeType n'est pas donné (est vide), alors QFormDataPartBuilder tente d'auto-détecter le type de mime de body à l'aide de QMimeDatabase.

Un appel ultérieur à setBody() rejette le dispositif du corps et les données définies par setBody() seront utilisées à la place.

Pour de grandes quantités de données, cette méthode devrait être préférée à setBody(), car le contenu n'est pas copié lors de l'utilisation de cette méthode, mais lu directement à partir du périphérique.

body doit être ouvert et lisible. QFormDataPartBuilder n'est pas propriétaire de body, c'est-à-dire que le périphérique doit être fermé et détruit si nécessaire.

Remarque : si body est séquentiel (par exemple, les sockets, mais pas les fichiers), QNetworkAccessManager::post() doit être appelé après que body a émis finished().

Voir également setBody() et QHttpPart::setBodyDevice().

QFormDataPartBuilder QFormDataPartBuilder::setHeaders(const QHttpHeaders &headers)

Définit les en-têtes spécifiés dans headers.

Note : Les en-têtes "content-type" et "content-disposition", s'ils sont spécifiés dans headers, seront remplacés par la classe.

[default] QFormDataPartBuilder &QFormDataPartBuilder::operator=(QFormDataPartBuilder &&other)

Move-assigne other à cette instance QFormDataPartBuilder.

[default] QFormDataPartBuilder &QFormDataPartBuilder::operator=(const QFormDataPartBuilder &other)

Attribue other à QFormDataPartBuilder et renvoie une référence à ce QFormDataPartBuilder. L'objet est valide tant que le QFormDataBuilder associé n'a pas été détruit.

Les données de la copie sont partagées (shallow copy) : modifier une partie modifiera également l'autre.

QFormDataPartBuilder foo()
{
    QFormDataBuilder builder;
    auto qfdpb1 = builder.part("First"_L1);
    auto qfdpb2 = qfdpb1; // this creates a shallow copy

    qfdpb2.setBodyDevice(&image, "cutecat.jpg"); // qfdpb1 is also modified

    return qfdbp2;  // invalid, builder is destroyed at the end of the scope
}

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.