Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QHttpMultiPart Class Reference
[QtNetwork module]

该QHttpMultiPart类类似于MIME多消息通过HTTP发送。More...

继承QObject

Types

Methods


Detailed Description

该QHttpMultiPart类类似于MIME多消息通过HTTP发送。

该QHttpMultiPart类似于MIME多的消息,如RFC 2046 ,这是要通过HTTP发送的描述。多部分消息由身体各部位任意数量(见QHttpPart) ,这是由独特的边界隔开。该QHttpMultiPart的边界构造字符串“ boundary_.oOo 。_“后跟随机字符,并提供了足够的独特性,以确保它不会发生部件本身的内部。如果需要,该边界仍可以通过设置setBoundary( ) 。

作为一个例子,考虑下面的代码片断,它构造一个包含文本部分后跟一个图像部分多部分消息:

 QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart.FormDataType);

 QHttpPart textPart;
 textPart.setHeader(QNetworkRequest.ContentDispositionHeader, QVariant("form-data; name=\"text\""));
 textPart.setBody("my text");

 QHttpPart imagePart;
 imagePart.setHeader(QNetworkRequest.ContentTypeHeader, QVariant("image/jpeg"));
 imagePart.setHeader(QNetworkRequest.ContentDispositionHeader, QVariant("form-data; name=\"image\""));
 QFile *file = new 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);

 QUrl url("http://my.server.tld");
 QNetworkRequest request(url);

 QNetworkAccessManager manager;
 QNetworkReply *reply = manager.post(request, multiPart);
 multiPart->setParent(reply); // delete the multiPart with the reply
 // here connect signals etc.

Type Documentation

QHttpMultiPart.ContentType

在RFC 2046和其他人描述的已知内容类型的多部分子类型的列表。

Constant Value Description
QHttpMultiPart.MixedType 0 对应于“多部分/混合”子类型,这意味着身体部分是彼此独立的,如RFC 2046中描述。
QHttpMultiPart.RelatedType 1 对应于“多部分/相关”子类型,这意味着,如RFC 2387中描述的主体部分彼此相关。
QHttpMultiPart.FormDataType 2 对应于“多部分/窗体的数据”子类型,这意味着身体部位含有表单元素,如RFC 2388中描述。
QHttpMultiPart.AlternativeType 3 对应于“ multipart / alternative的”子类型,这意味着身体部位是相同的信息替代表示,在RFC 2046中描述。

See also setContentType( ) 。


Method Documentation

QHttpMultiPart.__init__ (self, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QHttpMultiPart与内容类型MixedType和套parent作为父对象。

See also QHttpMultiPart.ContentType

QHttpMultiPart.__init__ (self, ContentType contentType, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QHttpMultiPart与内容类型contentType并设置父父对象。

See also QHttpMultiPart.ContentType

QHttpMultiPart.append (self, QHttpPart httpPart)

追加可httpPart这个多部分。

QByteArray QHttpMultiPart.boundary (self)

返回的边界。

See also setBoundary( ) 。

QHttpMultiPart.setBoundary (self, QByteArray boundary)

设置边界boundary

通常情况下,你不需要自己生成一个边界,在建筑界开始以字符串“ boundary_.oOo 。_“其次是随机字符,并提供足够的独特性,以确保它不会发生的部位本身内。

See also boundary( ) 。

QHttpMultiPart.setContentType (self, ContentType contentType)

设置内容类型contentType。内容类型会在HTTP标头部分通过发送多部分消息时,可以使用QNetworkAccessManager.post( ) 。如果你想使用不包含在一个多亚型QHttpMultiPart.ContentType,您可以添加“的Content-Type ”头字段的QNetworkRequest手,然后用申请,连同张贴的多部分消息。

See also QHttpMultiPart.ContentTypeQNetworkAccessManager.post( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5