QHttpMultiPart#
The QHttpMultiPart
class resembles a MIME multipart message to be sent over HTTP. More…
Synopsis#
Functions#
def
append
(httpPart)def
boundary
()def
setBoundary
(boundary)def
setContentType
(contentType)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
The QHttpMultiPart
resembles a MIME multipart message, as described in RFC 2046, which is to be sent over HTTP. A multipart message consists of an arbitrary number of body parts (see QHttpPart
), which are separated by a unique boundary. The boundary of the QHttpMultiPart
is constructed with the string “boundary_.oOo._” followed by random characters, and provides enough uniqueness to make sure it does not occur inside the parts itself. If desired, the boundary can still be set via setBoundary()
.
As an example, consider the following code snippet, which constructs a multipart message containing a text part followed by an image part:
multiPart = QHttpMultiPart(QHttpMultiPart.FormDataType) textPart = QHttpPart() textPart.setHeader(QNetworkRequest.ContentDispositionHeader, QVariant("form-data; name=\"text\"")) textPart.setBody("my text") imagePart = QHttpPart() imagePart.setHeader(QNetworkRequest.ContentTypeHeader, QVariant("image/jpeg")) imagePart.setHeader(QNetworkRequest.ContentDispositionHeader, QVariant("form-data; name=\"image\"")) file = QFile("image.jpg") file.open(QIODevice.ReadOnly) imagePart.setBodyDevice(file) file.setParent(multiPart) # we cannot delete the file now, so delete it with the multiPart multiPart.append(textPart) multiPart.append(imagePart) url = QUrl("http://my.server.tld") request = QNetworkRequest(url) manager = QNetworkAccessManager() reply = manager.post(request, multiPart) multiPart.setParent(reply) # delete the multiPart with the reply # here connect signals etc.
- class PySide6.QtNetwork.QHttpMultiPart(contentType[, parent=None])#
PySide6.QtNetwork.QHttpMultiPart([parent=None])
- Parameters:
contentType –
ContentType
parent –
PySide6.QtCore.QObject
Constructs a QHttpMultiPart
with content type contentType
and sets parent as the parent object.
See also
ContentType
Constructs a QHttpMultiPart
with content type MixedType
and sets parent
as the parent object.
See also
ContentType
- PySide6.QtNetwork.QHttpMultiPart.ContentType#
List of known content types for a multipart subtype as described in RFC 2046 and others.
Constant
Description
QHttpMultiPart.MixedType
corresponds to the “multipart/mixed” subtype, meaning the body parts are independent of each other, as described in RFC 2046.
QHttpMultiPart.RelatedType
corresponds to the “multipart/related” subtype, meaning the body parts are related to each other, as described in RFC 2387.
QHttpMultiPart.FormDataType
corresponds to the “multipart/form-data” subtype, meaning the body parts contain form elements, as described in RFC 2388.
QHttpMultiPart.AlternativeType
corresponds to the “multipart/alternative” subtype, meaning the body parts are alternative representations of the same information, as described in RFC 2046.
See also
- PySide6.QtNetwork.QHttpMultiPart.append(httpPart)#
- Parameters:
httpPart –
PySide6.QtNetwork.QHttpPart
Appends httpPart
to this multipart.
- PySide6.QtNetwork.QHttpMultiPart.boundary()#
- Return type:
returns the boundary.
See also
- PySide6.QtNetwork.QHttpMultiPart.setBoundary(boundary)#
- Parameters:
boundary –
PySide6.QtCore.QByteArray
Sets the boundary to boundary
.
Usually, you do not need to generate a boundary yourself; upon construction the boundary is initiated with the string “boundary_.oOo._” followed by random characters, and provides enough uniqueness to make sure it does not occur inside the parts itself.
See also
- PySide6.QtNetwork.QHttpMultiPart.setContentType(contentType)#
- Parameters:
contentType –
ContentType
Sets the content type to contentType
. The content type will be used in the HTTP header section when sending the multipart message via post()
. In case you want to use a multipart subtype not contained in ContentType
, you can add the “Content-Type” header field to the QNetworkRequest
by hand, and then use this request together with the multipart message for posting.
See also
ContentType
post()