在nokia的论坛里看到,感觉很详细,在此分享。
Here is a J2ME class to handle file uploads via HTTP POST Multipart Requests.
Source Code: HttpMultipartRequest class
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.ByteArrayOutputStream</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.OutputStream</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Enumeration</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Hashtable</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.io.Connector</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.io.HttpConnection</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HttpMultipartRequest<span style="color: #009900;">{</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> BOUNDARY <span style="color: #339933;">=</span> <span style="color: #0000ff;">"----------V2ymHFg03ehbqgZCaKO6jy"</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">[</span><span style="color: #009900;">]</span> postBytes <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> url <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">public</span> HttpMultipartRequest<span style="color: #009900;">(</span><a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> url, <a href="http://www.google.com/search?hl=en&q=allinurl%3Ahashtable+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Hashtable</span> </a> params, <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> fileField, <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> fileName, <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> fileType, <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">[</span> <span style="color: #009900;">]</span> fileBytes<span style="color: #009900;">)</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Aexception+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span> </a> <span style="color: #009900;">{</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">url</span> <span style="color: #339933;">=</span> url<span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> boundary <span style="color: #339933;">=</span> getBoundaryString<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> boundaryMessage <span style="color: #339933;">=</span> getBoundaryMessage<span style="color: #009900;">(</span>boundary, params, fileField, fileName, fileType<span style="color: #009900;">)</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> endBoundary <span style="color: #339933;">=</span> <span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> --"</span> <span style="color: #339933;">+</span> boundary <span style="color: #339933;">+</span> <span style="color: #0000ff;">"--<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Abytearrayoutputstream+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ByteArrayOutputStream</span> </a> bos <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Abytearrayoutputstream+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ByteArrayOutputStream</span> </a><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> bos.<span style="color: #006633;">write</span><span style="color: #009900;">(</span>boundaryMessage.<span style="color: #006633;">getBytes</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> bos.<span style="color: #006633;">write</span><span style="color: #009900;">(</span>fileBytes<span style="color: #009900;">)</span><span style="color: #339933;">;</span> bos.<span style="color: #006633;">write</span><span style="color: #009900;">(</span>endBoundary.<span style="color: #006633;">getBytes</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">postBytes</span> <span style="color: #339933;">=</span> bos.<span style="color: #006633;">toByteArray</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> bos.<span style="color: #006633;">close</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> getBoundaryString<span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span> <span style="color: #000000; font-weight: bold;">return</span> BOUNDARY<span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> getBoundaryMessage<span style="color: #009900;">(</span><a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> boundary, <a href="http://www.google.com/search?hl=en&q=allinurl%3Ahashtable+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Hashtable</span> </a> params, <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> fileField, <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> fileName, <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> fileType<span style="color: #009900;">)</span> <span style="color: #009900;">{</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astringbuffer+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">StringBuffer</span> </a> res <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astringbuffer+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">StringBuffer</span> </a><span style="color: #009900;">(</span><span style="color: #0000ff;">"--"</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span>boundary<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Aenumeration+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Enumeration</span> </a> keys <span style="color: #339933;">=</span> params.<span style="color: #006633;">keys</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">(</span>keys.<span style="color: #006633;">hasMoreElements</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> key <span style="color: #339933;">=</span> <span style="color: #009900;">(</span><a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a><span style="color: #009900;">)</span>keys.<span style="color: #006633;">nextElement</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a> value <span style="color: #339933;">=</span> <span style="color: #009900;">(</span><a href="http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span> </a><span style="color: #009900;">)</span>params.<span style="color: #006633;">get</span><span style="color: #009900;">(</span>key<span style="color: #009900;">)</span><span style="color: #339933;">;</span> res.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"Content-Disposition: form-data; name=<span style="color: #000099; font-weight: bold;">/"</span> "</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span>key<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/"</span> <span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span> <span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span>value<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"--"</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span>boundary<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> res.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"Content-Disposition: form-data; name=<span style="color: #000099; font-weight: bold;">/"</span> "</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span>fileField<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/"</span> ; filename=<span style="color: #000099; font-weight: bold;">/"</span> "</span><span style="color: #009900;">)</span> .<span style="color: #006633;">append</span><span style="color: #009900;">(</span>fileName<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/"</span> <span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span> .<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"Content-Type: "</span><span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span>fileType<span style="color: #009900;">)</span>.<span style="color: #006633;">append</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> <span style="color: #000099; font-weight: bold;">/r</span> <span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">return</span> res.<span style="color: #006633;">toString</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">[</span><span style="color: #009900;">]</span> send<span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Aexception+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span> </a> <span style="color: #009900;">{</span> HttpConnection hc <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Ainputstream+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStream</span> </a> is <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span>; <a href="http://www.google.com/search?hl=en&q=allinurl%3Abytearrayoutputstream+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ByteArrayOutputStream</span> </a> bos <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Abytearrayoutputstream+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ByteArrayOutputStream</span> </a><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">[</span><span style="color: #009900;">]</span>b res <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">{</span> hc <span style="color: #339933;">=</span> <span style="color: #009900;">(</span>HttpConnection<span style="color: #009900;">)</span> Connector.<span style="color: #006633;">open</span><span style="color: #009900;">(</span>url<span style="color: #009900;">)</span><span style="color: #339933;">;</span> hc.<span style="color: #006633;">setRequestProperty</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"Content-Type"</span>, <span style="color: #0000ff;">"multipart/form-data; boundary="</span> <span style="color: #339933;">+</span> getBoundaryString<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> hc.<span style="color: #006633;">setRequestMethod</span><span style="color: #009900;">(</span>HttpConnection.<span style="color: #006633;">POST</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Aoutputstream+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">OutputStream</span> </a> dout <span style="color: #339933;">=</span> hc.<span style="color: #006633;">openOutputStream</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> dout.<span style="color: #006633;">write</span><span style="color: #009900;">(</span>postBytes<span style="color: #009900;">)</span><span style="color: #339933;">;</span> dout.<span style="color: #006633;">close</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">int</span> ch<span style="color: #339933;">;</span> is <span style="color: #339933;">=</span> hc.<span style="color: #006633;">openInputStream</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">(</span><span style="color: #009900;">(</span>ch <span style="color: #339933;">=</span> is.<span style="color: #006633;">read</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span>1<span style="color: #009900;">)</span> <span style="color: #009900;">{</span> bos.<span style="color: #006633;">write</span><span style="color: #009900;">(</span>ch<span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> res <span style="color: #339933;">=</span> bos.<span style="color: #006633;">toByteArray</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">(</span><a href="http://www.google.com/search?hl=en&q=allinurl%3Aexception+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span> </a> e<span style="color: #009900;">)</span> <span style="color: #009900;">{</span> e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">{</span> <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">{</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">(</span>bos <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">)</span> bos.<span style="color: #006633;">close</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">(</span>is <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">)</span> is.<span style="color: #006633;">close</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">(</span>hc <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">)</span> hc.<span style="color: #006633;">close</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">(</span><a href="http://www.google.com/search?hl=en&q=allinurl%3Aexception+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span> </a> e2<span style="color: #009900;">)</span> <span style="color: #009900;">{</span> e2.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #009900;">}</span> <span style="color: #000000; font-weight: bold;">return</span> res<span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #009900;">}</span>
Sample usage
Here’s a code snippet to upload a file via HttpMultipartRequest class:
<span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">[</span><span style="color: #009900;">]</span> fileBytes <span style="color: #339933;">=</span> getFileBytes<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//retrieve file bytes with your own code</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Ahashtable+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Hashtable</span> </a> params <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&q=allinurl%3Ahashtable+java.sun.com&btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Hashtable</span> </a><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> params.<span style="color: #006633;">put</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"custom_param"</span>, <span style="color: #0000ff;">"param_value"</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> params.<span style="color: #006633;">put</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"custom_param2"</span>, <span style="color: #0000ff;">"param_value2"</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> HttpMultipartRequest req <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HttpMultipartRequest<span style="color: #009900;">(</span> <span style="color: #0000ff;">"http://www.server.com/uploadScript.php"</span>, params, <span style="color: #0000ff;">"upload_field"</span> , <span style="color: #0000ff;">"original_filename.png"</span>, <span style="color: #0000ff;">"image/png"</span>, fileBytes<span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">[</span><span style="color: #009900;">]</span> response <span style="color: #339933;">=</span> req.<span style="color: #006633;">send</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
Sample server code (PHP)
This is a sample PHP script that handles the upload. It doesn’t actually save the uploaded file, but only displays some infos about the upload size and parameters.
<span style="color: #000000; font-weight: bold;"><?php</span><span style="color: #000088;">$filesize</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/filesize"><span style="color: #990000;">filesize</span> </a><span style="color: #009900;">(</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">[</span><span style="color: #0000ff;">'upload_field'</span><span style="color: #009900;">]</span><span style="color: #009900;">[</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">]</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">"The uploaded file size is "</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$filesize</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">" bytes<span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">foreach</span><span style="color: #009900;">(</span><span style="color: #000088;">$_POST</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=></span> <span style="color: #000088;">$value</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">"Parameter name: "</span><span style="color: #339933;">.</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">", value: "</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$value</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">"<span style="color: #000099; font-weight: bold;">/n</span> "</span><span style="color: #339933;">;</span> <span style="color: #009900;">}</span> <span style="color: #000000; font-weight: bold;">?></span>
文章评分1次,平均分5.0:★★★★★