QFormDataPartBuilder Class
La clase QFormDataPartBuilder es una clase de conveniencia para simplificar la construcción de objetos QHttpPart. Más...
| Cabecera: | #include <QFormDataPartBuilder> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| Desde: | Qt 6.8 |
- Lista de todos los miembros, incluyendo los heredados
- QFormDataPartBuilder es parte de la API de Programación en Red y Clases Implícitamente Compartidas.
Funciones Públicas
| 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) |
Descripción Detallada
La clase QFormDataPartBuilder se puede utilizar para construir un objeto QHttpPart con la cabecera de disposición de contenido configurada como form-data por defecto. A continuación, el objeto generado se puede utilizar como parte de un mensaje multiparte (que está representado por la clase QHttpMultiPart ).
Véase también QHttpPart, QHttpMultiPart, y QFormDataBuilder.
Documentación de las funciones miembro
[default] QFormDataPartBuilder::QFormDataPartBuilder(const QFormDataPartBuilder &other)
Construye una copia de other. El objeto es válido mientras no se haya destruido el QFormDataBuilder asociado.
Los datos de la copia son compartidos (copia superficial): la modificación de una parte modificará también la otra.
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-construye una instancia de QFormDataPartBuilder, haciendo que apunte al mismo objeto al que apuntaba other.
[noexcept default] QFormDataPartBuilder::~QFormDataPartBuilder()
Destruye el objeto QFormDataPartBuilder.
QFormDataPartBuilder QFormDataPartBuilder::setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
Establece data como el cuerpo de esta parte MIME y, si se da, fileName como el parámetro de nombre de archivo en la cabecera de disposición de contenido.
Si no se da mimeType (está vacío), entonces QFormDataPartBuilder intenta autodetectar el tipo MIME de data usando QMimeDatabase.
Una llamada posterior a setBodyDevice() descarta el cuerpo y en su lugar se utilizará el dispositivo.
Para una gran cantidad de datos (por ejemplo, una imagen), es preferible setBodyDevice(), que no copiará los datos internamente.
Véase también setBodyDevice().
QFormDataPartBuilder QFormDataPartBuilder::setBodyDevice(QIODevice *body, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
Establece body como el dispositivo de cuerpo de esta parte y fileName como el parámetro de nombre de archivo en la cabecera de disposición de contenido.
Si no se proporciona mimeType (está vacío), entonces QFormDataPartBuilder intenta autodetectar el tipo mime de body utilizando QMimeDatabase.
Una llamada posterior a setBody() descarta el dispositivo de cuerpo y en su lugar se utilizarán los datos establecidos por setBody().
Para grandes cantidades de datos, este método debería preferirse a setBody(), porque el contenido no se copia cuando se utiliza este método, sino que se lee directamente del dispositivo.
body debe estar abierto y ser legible. QFormDataPartBuilder no se apropia de body, es decir, el dispositivo debe cerrarse y destruirse si es necesario.
Nota: Si body es secuencial (por ejemplo, sockets, pero no archivos), QNetworkAccessManager::post() debe ser llamado después de que body haya emitido finished().
Véase también setBody() y QHttpPart::setBodyDevice().
QFormDataPartBuilder QFormDataPartBuilder::setHeaders(const QHttpHeaders &headers)
Establece las cabeceras especificadas en headers.
Nota: Las cabeceras "content-type" y "content-disposition", si se especifica alguna en headers, serán sobrescritas por la clase.
[default] QFormDataPartBuilder &QFormDataPartBuilder::operator=(QFormDataPartBuilder &&other)
Mover-asigna other a esta instancia QFormDataPartBuilder.
[default] QFormDataPartBuilder &QFormDataPartBuilder::operator=(const QFormDataPartBuilder &other)
Asigna other a QFormDataPartBuilder y devuelve una referencia a este QFormDataPartBuilder. El objeto es válido mientras no se haya destruido el QFormDataBuilder asociado.
Los datos de la copia son compartidos (copia superficial): la modificación de una parte modificará también la otra.
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.