QFormDataPartBuilder Class
La classe `QFormDataPartBuilder` est une classe d'aide destinée à simplifier la création d'objets ` QHttpPart `. En savoir plus...
| 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 |
- Liste de tous les membres, y compris les membres hérités
- QFormDataPartBuilder fait partie de l'API de programmation réseau et des classes implicitement partagées.
Fonctions publiques
| QFormDataPartBuilder() | |
| 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 permet de créer un objet ` QHttpPart ` dont l'en-tête « content-disposition » est défini par défaut sur « form-data ». L'objet ainsi généré peut ensuite être utilisé dans le cadre d'un message multipart (représenté par la classe ` QHttpMultiPart `).
Voir également QHttpPart, QHttpMultiPart et QFormDataBuilder.
Documentation des fonctions membres
[constexpr noexcept default] QFormDataPartBuilder::QFormDataPartBuilder()
Construit par défaut une instance de ` QFormDataPartBuilder`.
[implicit] QFormDataPartBuilder::QFormDataPartBuilder(const QFormDataPartBuilder &other)
Crée une copie de other. L'objet reste valide tant que l'QFormDataBuilder associée n'a pas été détruite.
Les données de la copie sont partagées (copie superficielle) : la modification d'une partie entraîne également la modification de 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 implicit] QFormDataPartBuilder::QFormDataPartBuilder(QFormDataPartBuilder &&other)
La fonction « move » construit une instance de `QFormDataPartBuilder` en la faisant pointer vers le même objet que celui vers lequel pointait ` other `.
[noexcept implicit] QFormDataPartBuilder::~QFormDataPartBuilder()
Supprime l'objet « QFormDataPartBuilder ».
QFormDataPartBuilder QFormDataPartBuilder::setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
Définit data comme corps de cette partie MIME et, s’il est fourni, fileName comme paramètre de nom de fichier dans l’en-tête « content disposition ».
Si mimeType n'est pas fourni (est vide), QFormDataPartBuilder tente alors de détecter automatiquement le type MIME de data à l'aide de QMimeDatabase.
Un appel ultérieur à ` setBodyDevice()` supprime le corps et utilise à la place le périphérique.
Pour des volumes de données importants (par exemple une image), il est préférable d’utiliser setBodyDevice(), qui ne copie pas les données en interne.
Voir également setBodyDevice().
QFormDataPartBuilder QFormDataPartBuilder::setBodyDevice(QIODevice *body, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
Définit body comme dispositif de corps de cette partie et fileName comme paramètre de nom de fichier dans l'en-tête « content-disposition ».
Si mimeType n'est pas fourni (est vide), alors QFormDataPartBuilder tente de détecter automatiquement le type MIME de body à l'aide de QMimeDatabase.
Un appel ultérieur à ` setBody()` supprime le corps de périphérique et les données définies par ` setBody()` seront utilisées à la place.
Pour les volumes de données importants, cette méthode est préférable à setBody(), car le contenu n’est pas copié lors de son utilisation, mais lu directement à partir du périphérique.
body doit être ouvert et accessible en lecture. La fonction ` QFormDataPartBuilder ` ne prend pas en charge la gestion de ` body` ; en d'autres termes, 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.
Remarque : les en-têtes « content-type » et « content-disposition », s'ils sont spécifiés dans headers, seront remplacés par la classe.
[implicit] QFormDataPartBuilder &QFormDataPartBuilder::operator=(QFormDataPartBuilder &&other)
Cette opération attribue l'other à cette instance QFormDataPartBuilder.
[implicit] QFormDataPartBuilder &QFormDataPartBuilder::operator=(const QFormDataPartBuilder &other)
Attribue other à QFormDataPartBuilder et renvoie une référence à cette QFormDataPartBuilder. L'objet reste valide tant que l'QFormDataBuilder associée n'a pas été détruite.
Les données de la copie sont partagées (copie superficielle) : la modification d’une partie entraîne également la modification de 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.