QFormDataPartBuilder Class
QFormDataPartBuilder クラスは、QHttpPart オブジェクトの生成を簡略化するための利便性向上のためのクラスです。詳細...
| ヘッダー: | #include <QFormDataPartBuilder> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| 以下のように: | Qt 6.8 |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QFormDataPartBuilder は、ネットワークプログラミング APIおよび暗黙的に共有されるクラスに属します。
パブリック関数
| 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) |
詳細な説明
QFormDataPartBuilder クラスを使用すると、コンテンツ・ディスポジション・ヘッダがデフォルトで form-data に設定されたQHttpPart オブジェクトを構築できます。生成されたオブジェクトは、マルチパート・メッセージ(QHttpMultiPart クラスで表される)の一部として使用できます。
関連項目: QHttpPart 、QHttpMultiPart 、およびQFormDataBuilder 。
メンバ関数のドキュメント
[constexpr noexcept default] QFormDataPartBuilder::QFormDataPartBuilder()
QFormDataPartBuilder のインスタンスをデフォルトコンストラクタで生成します。
[implicit] QFormDataPartBuilder::QFormDataPartBuilder(const QFormDataPartBuilder &other)
other のコピーを作成します。このオブジェクトは、関連付けられているQFormDataBuilder が破棄されない限り有効です。
コピーのデータは共有されています(浅いコピー):一方を変更すると、もう一方も変更されます。
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)
QFormDataPartBuilderのインスタンスをMoveコンストラクタで生成し、other が指していたのと同じオブジェクトを指すようにします。
[noexcept implicit] QFormDataPartBuilder::~QFormDataPartBuilder()
QFormDataPartBuilder オブジェクトを破棄します。
QFormDataPartBuilder QFormDataPartBuilder::setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
data をこの MIME パートの本文として設定し、指定されている場合は、fileName をコンテンツ・ディスポジション・ヘッダーのファイル名パラメータとして設定します。
mimeType が指定されていない(空)場合、QFormDataPartBuilder はQMimeDatabase を使用してdata の MIME タイプを自動検出しようとします。
その後、setBodyDevice() が呼び出されると、ボディは破棄され、代わりにデバイスが使用されます。
大量のデータ (画像など) の場合、内部でデータをコピーしないsetBodyDevice() を使用することをお勧めします。
setBodyDevice()も参照してください 。
QFormDataPartBuilder QFormDataPartBuilder::setBodyDevice(QIODevice *body, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
body をこのパートのボディデバイスとして設定し、fileName をコンテンツ・ディスポジション・ヘッダーのファイル名パラメータとして設定します。
mimeType が指定されていない(空)場合、QFormDataPartBuilder はQMimeDatabase を使用してbody の MIME タイプを自動検出しようとします。
その後、setBody() を呼び出すと、ボディデバイスは破棄され、代わりにsetBody() によって設定されたデータが使用されます。
データ量が多い場合は、setBody() よりもこのメソッドを使用することをお勧めします。このメソッドを使用すると、コンテンツがコピーされることなく、デバイスから直接読み込まれるためです。
body は開かれており、読み取り可能でなければなりません。QFormDataPartBuilder はbody の所有権を取得しないため、必要に応じてデバイスを閉じて破棄する必要があります。
注: body がシーケンシャルである場合 (例:ソケット。ファイルは対象外)、body が finished() を発行した後にQNetworkAccessManager::post() を呼び出す必要があります。
setBody() およびQHttpPart::setBodyDevice()も参照してください 。
QFormDataPartBuilder QFormDataPartBuilder::setHeaders(const QHttpHeaders &headers)
headers で指定されたヘッダーを設定します。
注: headers で「content-type」および「content-disposition」ヘッダーが 指定されている場合、それらは クラスによって上書きされます。
[implicit] QFormDataPartBuilder &QFormDataPartBuilder::operator=(QFormDataPartBuilder &&other)
other をこのQFormDataPartBuilder インスタンスに割り当てます。
[implicit] QFormDataPartBuilder &QFormDataPartBuilder::operator=(const QFormDataPartBuilder &other)
other をQFormDataPartBuilder に代入し、このQFormDataPartBuilder への参照を返します。このオブジェクトは、関連付けられたQFormDataBuilder が破棄されない限り有効です。
コピーされたデータは共有されます(浅いコピー):一方を変更すると、もう一方も変更されます。
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.