Android HTTP POST上传

HTTP POST上传通用方法,支持文字、图片、文件等。

依赖jar包下载地址:http://hc.apache.org/downloads.cgi 下载HttpClient
***   Binary。

HttpComponents
libraries
中的httpmime-4.3.3.jar拷贝到Android工程的libs下即可。


//填充上传实体对象
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart("String", new StringBody(“String”, Charset.forName("UTF-8")));
entity.addPart("File", new FileBody(new File(“path”)));

//调用post方法上传
HttpTools.post("url", entity)

//Http上传通用方法类
public class HttpTools {
public static final int HTTP_SUCCESS = 200;
private static String response_string = null;
private static JSONObject response_json = null;

  ......
  ......
public static boolean post(String url, MultipartEntity entity) {

try {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(SERVER_ADDR + url);

httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost, localContext);

if (response.getStatusLine().getStatusCode() == HTTP_SUCCESS) {

response_string = EntityUtils.toString(response.getEntity());
response_json = new JSONObject(response_string);

return true;
}

} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return false;

}

  ......
  ......
}

关于上传文字乱码的情况说明:

之前没有设置文字编码

entity.addPart("String", new StringBody(“String”));

直接上传文字就会乱码。

在Android开发中,以HttpPost方式向服务器上提交中文数据时,如果没有设置传输数据的编码类型,在服务端获取到的数据就会出现乱码。在涉及不同平台上的应用,我们尽量使用UTF-8编码格式传输中文数据,HttpPost方式传输中文指定编码可以参考以下方法:

entity.addPart("String", new StringBody(“String”,
Charset.forName("UTF-8")));

Android HTTP POST上传,布布扣,bubuko.com

时间: 2024-10-21 12:11:01

Android HTTP POST上传的相关文章

android post方式上传文件(模拟表单格式数据提交)

表单提交内容为: POST /upload.php?zp_id=ab46ca6d703e3a1580c1c9b8b3a8fb39 HTTP/1.1Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/v

android C#webservice 上传文件

android 端 public String UploadHeadImg(Bitmap bitmap,String fileName ) { String[] arg={"BtyeString","FileName"}; String[] val={bitmaptoString(bitmap),fileName}; return bd.GetWebReturnModel("UploadFile", arg, val); } public Str

Android将Library上传到jcenter超简单完整步骤以及遇到的各种坑

Android将Library上传到jcenter超简单完整步骤以及遇到的各种坑 在[玩转SQLite系列](七)打造轻量级ORM工具类SQLiteDbUtil操作数据库 中我们可以看到这个工具类的超简洁用法:只需要在gradle中引入: compile 'cn.bluemobi.dylan:sqlitelibrary:0.1' 即可使用,那么这到底是怎么回事?这个是Android项目所在jcenter的一个远程仓库.我们只需要将你的libray上传到jcenter即可,那么如和将一个项目上传到

android图片压缩上传系列-service篇

本篇文章是继续上篇android图片压缩上传系列-基础篇文章的续篇.主要目的是:通过Service来执行图片压缩任务来讨论如何使用Service,如何处理任务量大的并发问题. 了解下Service 大家都知道如果有费时任务,这时需要将任务放到后台线程中执行,如果对操作的结果需要通过ui展示还需要在任务完成后通知前台更新.当然对于这种情况,大家也可以在Activity中启动线程,在线程中通过Handler和sendMessage来通知Activity并执行更新ui的操作,但是更好的方法是将这些操作

Android图片文件上传实例

原文:Android图片文件上传实例 源代码下载地址:http://www.zuidaima.com/share/1550463718132736.htm 支持拍照图片上传和从手机相册中获取图片上传到服务器端的功能 源码截图

android批量文件上传(android批量图片上传)

项目中多处用到文件批量上传功能,今天正好解决了此问题,在此写出来,以便日后借鉴. 首先,以下架构下的批量文件上传可能会失败或者不会成功: 1.android客户端+springMVC服务端:服务端采用org.springframework.web.multipart.MultipartHttpServletRequest作为批量上传接收类,这种搭配下的批量文件上传会失败,最终服务端只会接受到一个文件,即只会接受到第一个文件.可能因为MultipartHttpServletRequest对serv

基于Http原理实现Android的图片上传和表单提交

版权声明:本文由张坤  原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/794875001483009140 来源:腾云阁 https://www.qcloud.com/community 现在服务器主要是Web居多,客户端一般通过http上传文件到web服务器,最开始的设想很简单,直接将图片转化为字节流,写入到http的outstream,随后发送出去即可. 但当这种方法出现问题,服务器根据文件名这个表单中的字段来判定

android:AndroidAnnotations上传文件,网络接口如此简洁

网络接口如此简洁 使用HttpClient进行文件的上传,可以参考博客:使用HttpClient进行文件上传 如果项目使用AndroidAnnotation,写上传接口就会非常方便,比如之前写POST接口 首先参考之前的博客,使用AndroidAnnotations进行POST请求. 如下是使用AndroidAnnotations进行文件上传的网络接口 @Rest(rootUrl = "http://192.168.31.183:8080/SSHMySql/", converters

一步一步实现android studio代码上传到github。

本文只注重代码上传能成功就好,不解释什么是git什么事github,git有什么优势. 1,先创建一个android应用, 第二步:创建github账户 和 安装git.网上的文章多如牛毛.唯一要说的就是记住安装目录. 第三步:android studio中配置git和github账户. 有了上面两个图就说明离成功不远了. 第四步:android studio中点击VCS--Import into version control--share project on github,接下来会出现 内