转 Android网络编程之使用HttpClient批量上传文件 MultipartEntityBuilder

论坛 期权论坛     
选择匿名的用户   2021-5-22 14:49   125   0
<div class="blogpost-body" id="cnblogs_post_body">
<p>请尊重他人的劳动成果,转载请注明出处:<a href="http://blog.csdn.net/fengyuzhengfan/article/details/39941851">Android网络编程之使用HttpClient批量上传文件</a></p>
<p> http://www.tuicool.com/articles/Y7reYb</p>
<p>我曾在《<a href="http://blog.csdn.net/fengyuzhengfan/article/details/38919259">Android网络编程之使用HTTP访问网络资源</a>》一文中介绍过HttpCient的使用,这里就不在累述了,感兴趣的朋友可以去看一下。在这里主要介绍如何通过HttpClient实现文件上传。</p>
<p> </p>
<h1>1.预备知识:</h1>
<hr>
<p align="left">          在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但现在这个类已经不在推荐使用了。随之替代它的类是MultipartEntityBuilder。</p>
<p align="left"> </p>
<h2>下面让我们了解一下MultipartEntityBuilder类:</h2>
<p>         MultipartEntityBuilder这个类主要用于创建HttpEntity。它的主要方法有:</p>
<table border="1" cellpadding="0" cellspacing="0"><tbody><tr><td width="132"> <p align="left"><strong>修饰符和类型</strong></p> </td><td width="425"> <p align="left"><strong>方法和描述</strong></p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addBinaryBody</strong>(<strong>String</strong> name, byte[] b) </p> <p align="left">将字节数组以二进制的形式添加数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addBinaryBody</strong>(<strong>String</strong> name, byte[] b, <strong>ContentType</strong> contentType, <strong>String</strong> filename) </p> <p align="left">将字节数组以二进制的形式添加数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addBinaryBody</strong>(<strong>String</strong> name, <strong>File</strong> file) </p> <p align="left">将文件以二进制的形式添加数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addBinaryBody</strong>(<strong>String</strong> name, <strong>File</strong> file, <strong>ContentType</strong> contentType, <strong>String</strong> filename) </p> <p align="left">将文件以二进制的形式添加数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addBinaryBody</strong>(<strong>String</strong> name, <strong>InputStream</strong> stream) </p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addBinaryBody</strong>(<strong>String</strong> name, <strong>InputStream</strong> stream, <strong>ContentType</strong> contentType, <strong>String</strong> filename) </p> <p align="left">将输入流以二进制的形式添加数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addPart</strong>(<strong>String</strong> name, <strong>ContentBody</strong> contentBody) </p> <p align="left">添加<strong>ContentBody</strong> 类型的数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addTextBody</strong>(<strong>String</strong> name, <strong>String</strong> text) </p> <p align="left">添加文本数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>addTextBody</strong>(<strong>String</strong> name, <strong>String</strong> text, <strong>ContentType</strong> contentType) </p> <p align="left">以指定的内容类型添加文本数据。</p> </td></tr><tr><td width="132"> <p align="left"><strong>HttpEntity</strong></p> </td><td width="425"> <p align="left"><strong>build</strong>() </p> <p align="left">创建一个HttpEntity。</p> </td></tr><tr><td width="132"> <p align="left"><strong>static MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>create</strong>() </p> <p align="left">创建一个MultipartEntityBuilder对象。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>setBoundary</strong>(<strong>String</strong> boundary) </p> <p align="left">设置边界。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>setCharset</strong>(<strong>Charset</strong> charset) </p> <p align="left">设置请求的编码格式。</p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>setLaxMode</strong>() </p> </td></tr><tr><td width="132"> <p align="left"><strong>MultipartEntityBuilder</strong></p> </td><td width="425"> <p align="left"><strong>setMode</strong>(<strong
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP