File: qhttpmultipart.html

package info (click to toggle)
qt4-x11 4%3A4.8.2%2Bdfsg-11
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 701,696 kB
  • sloc: cpp: 2,686,179; ansic: 375,485; python: 25,859; sh: 19,349; xml: 17,091; perl: 14,765; yacc: 5,383; asm: 5,038; makefile: 1,259; lex: 555; ruby: 526; objc: 347; cs: 112; pascal: 112; php: 54; sed: 34
file content (180 lines) | stat: -rw-r--r-- 15,601 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qhttpmultipart.cpp -->
  <title>Qt 4.8: QHttpMultiPart Class Reference</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="content"> 
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
  </div>
  <div class="breadcrumb toolblock">
    <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <!--  Breadcrumbs go here -->
<li><a href="modules.html">Modules</a></li>
<li><a href="qtnetwork.html">QtNetwork</a></li>
<li>QHttpMultiPart</li>
    </ul>
  </div>
</div>
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-types">Public Types</a></li>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QHttpMultiPart Class Reference</h1>
<!-- $$$QHttpMultiPart-brief -->
<p>The QHttpMultiPart class resembles a MIME multipart message to be sent over HTTP. <a href="#details">More...</a></p>
<!-- @@@QHttpMultiPart -->
<pre class="cpp"> <span class="preprocessor">#include &lt;QHttpMultiPart&gt;</span></pre><p><b>Inherits: </b><a href="qobject.html">QObject</a>.</p>
<p>This class was introduced in Qt 4.8.</p>
<ul>
<li><a href="qhttpmultipart-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-types"></a>
<h2>Public Types</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#ContentType-enum">ContentType</a></b> { MixedType, RelatedType, FormDataType, AlternativeType }</td></tr>
</table>
<a name="public-functions"></a>
<h2>Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#QHttpMultiPart">QHttpMultiPart</a></b> ( QObject * <i>parent</i> = 0 )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#QHttpMultiPart-2">QHttpMultiPart</a></b> ( ContentType <i>contentType</i>, QObject * <i>parent</i> = 0 )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#dtor.QHttpMultiPart">~QHttpMultiPart</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#append">append</a></b> ( const QHttpPart &amp; <i>httpPart</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QByteArray </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#boundary">boundary</a></b> () const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#setBoundary">setBoundary</a></b> ( const QByteArray &amp; <i>boundary</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qhttpmultipart.html#setContentType">setContentType</a></b> ( ContentType <i>contentType</i> )</td></tr>
</table>
<ul>
<li class="fn">29 public functions inherited from <a href="qobject.html#public-functions">QObject</a></li>
</ul>
<h3>Additional Inherited Members</h3>
<ul>
<li class="fn">1 property inherited from <a href="qobject.html#properties">QObject</a></li>
<li class="fn">1 public slot inherited from <a href="qobject.html#public-slots">QObject</a></li>
<li class="fn">1 signal inherited from <a href="qobject.html#signals">QObject</a></li>
<li class="fn">7 static public members inherited from <a href="qobject.html#static-public-members">QObject</a></li>
<li class="fn">8 protected functions inherited from <a href="qobject.html#protected-functions">QObject</a></li>
</ul>
<a name="details"></a>
<!-- $$$QHttpMultiPart-description -->
<div class="descr">
<h2>Detailed Description</h2>
<p>The QHttpMultiPart class resembles a MIME multipart message to be sent over HTTP.</p>
<p>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 <a href="qhttppart.html">QHttpPart</a>), which are separated by a unique boundary. The boundary of the QHttpMultiPart is constructed with the string &quot;boundary_.oOo.<a href="index.html">_</a>&quot; 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 <a href="qhttpmultipart.html#setBoundary">setBoundary</a>().</p>
<p>As an example, consider the following code snippet, which constructs a multipart message containing a text part followed by an image part:</p>
<pre class="cpp"> <span class="type">QHttpMultiPart</span> <span class="operator">*</span>multiPart <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QHttpMultiPart</span>(<span class="type">QHttpMultiPart</span><span class="operator">::</span>FormDataType);

 <span class="type"><a href="qhttppart.html">QHttpPart</a></span> textPart;
 textPart<span class="operator">.</span>setHeader(<span class="type"><a href="qnetworkrequest.html">QNetworkRequest</a></span><span class="operator">::</span>ContentDispositionHeader<span class="operator">,</span> <span class="type"><a href="qvariant.html">QVariant</a></span>(<span class="string">&quot;form-data; name=\&quot;text\&quot;&quot;</span>));
 textPart<span class="operator">.</span>setBody(<span class="string">&quot;my text&quot;</span>);

 <span class="type"><a href="qhttppart.html">QHttpPart</a></span> imagePart;
 imagePart<span class="operator">.</span>setHeader(<span class="type"><a href="qnetworkrequest.html">QNetworkRequest</a></span><span class="operator">::</span>ContentTypeHeader<span class="operator">,</span> <span class="type"><a href="qvariant.html">QVariant</a></span>(<span class="string">&quot;image/jpeg&quot;</span>));
 imagePart<span class="operator">.</span>setHeader(<span class="type"><a href="qnetworkrequest.html">QNetworkRequest</a></span><span class="operator">::</span>ContentDispositionHeader<span class="operator">,</span> <span class="type"><a href="qvariant.html">QVariant</a></span>(<span class="string">&quot;form-data; name=\&quot;image\&quot;&quot;</span>));
 <span class="type"><a href="qfile.html">QFile</a></span> <span class="operator">*</span>file <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qfile.html">QFile</a></span>(<span class="string">&quot;image.jpg&quot;</span>);
 file<span class="operator">-</span><span class="operator">&gt;</span>open(<span class="type"><a href="qiodevice.html">QIODevice</a></span><span class="operator">::</span>ReadOnly);
 imagePart<span class="operator">.</span>setBodyDevice(file);
 file<span class="operator">-</span><span class="operator">&gt;</span><a href="qobject.html#setParent">setParent</a>(multiPart); <span class="comment">// we cannot delete the file now, so delete it with the multiPart</span>

 multiPart<span class="operator">-</span><span class="operator">&gt;</span><a href="qhttpmultipart.html#append">append</a>(textPart);
 multiPart<span class="operator">-</span><span class="operator">&gt;</span><a href="qhttpmultipart.html#append">append</a>(imagePart);

 <span class="type"><a href="qurl.html">QUrl</a></span> url(<span class="string">&quot;http://my.server.tld&quot;</span>);
 <span class="type"><a href="qnetworkrequest.html">QNetworkRequest</a></span> request(url);

 <span class="type"><a href="qnetworkaccessmanager.html">QNetworkAccessManager</a></span> manager;
 <span class="type"><a href="qnetworkreply.html">QNetworkReply</a></span> <span class="operator">*</span>reply <span class="operator">=</span> manager<span class="operator">.</span>post(request<span class="operator">,</span> multiPart);
 multiPart<span class="operator">-</span><span class="operator">&gt;</span><a href="qobject.html#setParent">setParent</a>(reply); <span class="comment">// delete the multiPart with the reply</span>
 <span class="comment">// here connect signals etc.</span></pre>
</div>
<p><b>See also </b><a href="qhttppart.html">QHttpPart</a> and <a href="qnetworkaccessmanager.html#post">QNetworkAccessManager::post</a>().</p>
<!-- @@@QHttpMultiPart -->
<div class="types">
<h2>Member Type Documentation</h2>
<!-- $$$ContentType$$$MixedType$$$RelatedType$$$FormDataType$$$AlternativeType -->
<h3 class="fn"><a name="ContentType-enum"></a>enum QHttpMultiPart::<span class="name">ContentType</span></h3>
<p>List of known content types for a multipart subtype as described in RFC 2046 and others.</p>
<table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><tt>QHttpMultiPart::MixedType</tt></td><td class="topAlign"><tt>0</tt></td><td class="topAlign">corresponds to the &quot;multipart/mixed&quot; subtype, meaning the body parts are independent of each other, as described in RFC 2046.</td></tr>
<tr><td class="topAlign"><tt>QHttpMultiPart::RelatedType</tt></td><td class="topAlign"><tt>1</tt></td><td class="topAlign">corresponds to the &quot;multipart/related&quot; subtype, meaning the body parts are related to each other, as described in RFC 2387.</td></tr>
<tr><td class="topAlign"><tt>QHttpMultiPart::FormDataType</tt></td><td class="topAlign"><tt>2</tt></td><td class="topAlign">corresponds to the &quot;multipart/form-data&quot; subtype, meaning the body parts contain form elements, as described in RFC 2388.</td></tr>
<tr><td class="topAlign"><tt>QHttpMultiPart::AlternativeType</tt></td><td class="topAlign"><tt>3</tt></td><td class="topAlign">corresponds to the &quot;multipart/alternative&quot; subtype, meaning the body parts are alternative representations of the same information, as described in RFC 2046.</td></tr>
</table>
<p><b>See also </b><a href="qhttpmultipart.html#setContentType">setContentType</a>().</p>
<!-- @@@ContentType -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QHttpMultiPart[overload1]$$$QHttpMultiPartQObject* -->
<h3 class="fn"><a name="QHttpMultiPart"></a>QHttpMultiPart::<span class="name">QHttpMultiPart</span> ( <span class="type"><a href="qobject.html">QObject</a></span> * <i>parent</i> = 0 )</h3>
<p>Constructs a <a href="qhttpmultipart.html">QHttpMultiPart</a> with content type <a href="qhttpmultipart.html#ContentType-enum">MixedType</a> and sets <i>parent</i> as the parent object.</p>
<p><b>See also </b><a href="qhttpmultipart.html#ContentType-enum">QHttpMultiPart::ContentType</a>.</p>
<!-- @@@QHttpMultiPart -->
<!-- $$$QHttpMultiPart$$$QHttpMultiPartContentTypeQObject* -->
<h3 class="fn"><a name="QHttpMultiPart-2"></a>QHttpMultiPart::<span class="name">QHttpMultiPart</span> ( <span class="type"><a href="qhttpmultipart.html#ContentType-enum">ContentType</a></span> <i>contentType</i>, <span class="type"><a href="qobject.html">QObject</a></span> * <i>parent</i> = 0 )</h3>
<p>Constructs a <a href="qhttpmultipart.html">QHttpMultiPart</a> with content type <i>contentType</i> and sets parent as the parent object.</p>
<p><b>See also </b><a href="qhttpmultipart.html#ContentType-enum">QHttpMultiPart::ContentType</a>.</p>
<!-- @@@QHttpMultiPart -->
<!-- $$$~QHttpMultiPart[overload1]$$$~QHttpMultiPart -->
<h3 class="fn"><a name="dtor.QHttpMultiPart"></a>QHttpMultiPart::<span class="name">~QHttpMultiPart</span> ()</h3>
<p>Destroys the multipart.</p>
<!-- @@@~QHttpMultiPart -->
<!-- $$$append[overload1]$$$appendconstQHttpPart& -->
<h3 class="fn"><a name="append"></a><span class="type">void</span> QHttpMultiPart::<span class="name">append</span> ( const <span class="type"><a href="qhttppart.html">QHttpPart</a></span> &amp; <i>httpPart</i> )</h3>
<p>Appends <i>httpPart</i> to this multipart.</p>
<!-- @@@append -->
<!-- $$$boundary[overload1]$$$boundary -->
<h3 class="fn"><a name="boundary"></a><span class="type"><a href="qbytearray.html">QByteArray</a></span> QHttpMultiPart::<span class="name">boundary</span> () const</h3>
<p>returns the boundary.</p>
<p><b>See also </b><a href="qhttpmultipart.html#setBoundary">setBoundary</a>().</p>
<!-- @@@boundary -->
<!-- $$$setBoundary[overload1]$$$setBoundaryconstQByteArray& -->
<h3 class="fn"><a name="setBoundary"></a><span class="type">void</span> QHttpMultiPart::<span class="name">setBoundary</span> ( const <span class="type"><a href="qbytearray.html">QByteArray</a></span> &amp; <i>boundary</i> )</h3>
<p>Sets the boundary to <i>boundary</i>.</p>
<p>Usually, you do not need to generate a boundary yourself; upon construction the boundary is initiated with the string &quot;boundary_.oOo.<a href="index.html">_</a>&quot; followed by random characters, and provides enough uniqueness to make sure it does not occur inside the parts itself.</p>
<p><b>See also </b><a href="qhttpmultipart.html#boundary">boundary</a>().</p>
<!-- @@@setBoundary -->
<!-- $$$setContentType[overload1]$$$setContentTypeContentType -->
<h3 class="fn"><a name="setContentType"></a><span class="type">void</span> QHttpMultiPart::<span class="name">setContentType</span> ( <span class="type"><a href="qhttpmultipart.html#ContentType-enum">ContentType</a></span> <i>contentType</i> )</h3>
<p>Sets the content type to <i>contentType</i>. The content type will be used in the HTTP header section when sending the multipart message via <a href="qnetworkaccessmanager.html#post">QNetworkAccessManager::post</a>(). In case you want to use a multipart subtype not contained in <a href="qhttpmultipart.html#ContentType-enum">QHttpMultiPart::ContentType</a>, you can add the &quot;Content-Type&quot; header field to the <a href="qnetworkrequest.html">QNetworkRequest</a> by hand, and then use this request together with the multipart message for posting.</p>
<p><b>See also </b><a href="qhttpmultipart.html#ContentType-enum">QHttpMultiPart::ContentType</a> and <a href="qnetworkaccessmanager.html#post">QNetworkAccessManager::post</a>().</p>
<!-- @@@setContentType -->
</div>
  <div class="ft">
    <span></span>
  </div>
</div> 
<div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2012 Nokia Corporation and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Nokia, Qt and their respective logos are trademarks of Nokia Corporation 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>