大家在做android项目的时候,肯定会遇到文件上传(比如图片,音乐等),今天我把我刚做的一个图片上传功能分享一下,
基本的流程就是:定义一个HttpClient→定义post请求(HttpPost)→post请求中添加参数(包括普通参数,文件)→使用client发送post请求
步骤如下:
一:定义client
HttpClient client = new DefaultHttpClient();
二:定义post请求
HttpPost post = new HttpPost(url);//url为接口地址
三:定义参数并添加到post中
MultipartEntity entity = new MultipartEntity();
StringBody sb1 = new StringBody(str1);//str1为需要传递的字符串参数
StringBody sb2 = new StringBody(str2,Charset.Forname(HTTP.UTF_8));//如果参数中有中文则需要使用此方法设置参数编码
File file1 = new File(path);//path为文件路劲,创建一个file对象
FileBody body = new FileBody(file1);//添加文件参数
entity.addPart(key1,sb1);//key1,2,3为参数名
entity.addPart(key2,sb2);
entity.addPart(key3,body);
post.setEntity(entity);
四:client发送post请求client.execute(post);