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-construct 방식으로 생성하여, 이 인스턴스가 ` other `가 가리키던 것과 동일한 객체를 가리키도록 합니다.
[noexcept implicit] QFormDataPartBuilder::~QFormDataPartBuilder()
QFormDataPartBuilder 객체를 삭제합니다.
QFormDataPartBuilder QFormDataPartBuilder::setBody(QByteArrayView data, QAnyStringView fileName = {}, QAnyStringView mimeType = {})
data 를 이 MIME 파트의 본문으로 설정하고, 지정된 경우 fileName 를 콘텐츠 배치(content disposition) 헤더의 파일 이름 매개변수로 설정합니다.
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.