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 はNetwork Programming APIおよびImplicitly Shared Classes に含まれています。
パブリック関数
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 クラスは、デフォルトで content disposition ヘッダが form-data に設定されたQHttpPart オブジェクトを生成するために使用できます。その後、生成されたオブジェクトをマルチパート・メッセージの一部として使用することができます(これはQHttpMultiPart クラスで表されます)。
QHttpPart 、QHttpMultiPart 、QFormDataBuilderも参照 。
メンバ関数ドキュメント
[noexcept default]
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 default]
QFormDataPartBuilder::QFormDataPartBuilder(QFormDataPartBuilder &&other)
Move-QFormDataPartBuilderインスタンスを構築し、other が指していたのと同じオブジェクトを指すようにする。
[noexcept default]
QFormDataPartBuilder::~QFormDataPartBuilder()
QFormDataPartBuilder オブジェクトを破棄する。
QFormDataPartBuilder QFormDataPartBuilder::setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
このMIMEパートのボディとしてdata を設定し、与えられた場合、content dispositionヘッダーのファイル名パラメータとしてfileName を設定する。
mimeType が与えられない(空である)場合、QFormDataPartBuilder はQMimeDatabase を使用してdata の MIMEタイプを自動検出しようとする。
その後にsetBodyDevice()を呼 ぶと、ボディは破棄され、代わりにデバイスが使用される。
大容量のデータ(画像など)については、setBodyDevice() を使用するのが望ましい。
setBodyDevice()も参照のこと 。
QFormDataPartBuilder QFormDataPartBuilder::setBodyDevice(QIODevice *body, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
このパートのボディデバイスとしてbody を設定し、content disposition ヘッダーのファイル名パラメーターとしてfileName を設定する。
mimeType が与えられない(空である)場合、QFormDataPartBuilder はQMimeDatabase を使用してbody のmime-typeを自動検出しようとする。
その後にsetBody()を呼 ぶと、ボディデバイスは破棄され、代わりにsetBody()で設定された データが使用される。
setBodyこのメソッドを使用する場合、コンテンツはコピーされず、デバイ スから直接読み込まれるからである。
body QFormDataPartBuilder は の所有権を持たない。つまり、必要に応じてデバイスを閉じ、破棄する必要がある。body
注意: body がシーケンシャルな場合(ソケットなど、ファイルではない)、body が finished() を発行した後にQNetworkAccessManager::post() を呼び出すべきである。
setBody() およびQHttpPart::setBodyDevice()も参照の こと。
QFormDataPartBuilder QFormDataPartBuilder::setHeaders(const QHttpHeaders &headers)
headers で指定されたヘッダーを設定する。
注意: "content-type "と "content-disposition "ヘッダがheaders で指定されていれば、このクラスによって上書きされます。
[noexcept default]
QFormDataPartBuilder &QFormDataPartBuilder::operator=(QFormDataPartBuilder &&other)
Move-other をこのQFormDataPartBuilder インスタンスに割り当てる。
[noexcept default]
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 }
© 2025 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.