AsyncHttpClient 是一个框架提供的库 可以异步传输,使用时需下载android-async-http-1.4.4.jar包导入到项目中
下载地址:http://loopj.com/android-async-http
public static void reg(final Context cont,Bitmap photodata,String regData) {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//将bitmap一字节流输出 Bitmap.CompressFormat.PNG 压缩格式,100:压缩率,baos:字节流
photodata.compress(Bitmap.CompressFormat.PNG, 100, baos);
baos.close();
byte[] buffer = baos.toByteArray();
System.out.println("图片的大小:"+buffer.length);
//将图片的字节流数据加密成base64字符输出
String photo = Base64.encodeToString(buffer, 0, buffer.length,Base64.DEFAULT);
//photo=URLEncoder.encode(photo,"UTF-8");
RequestParams params = new RequestParams();
params.put("photo", photo);
params.put("name", "woshishishi");//传输的字符数据
String url = "http://10.0.2.2:8080/IC_Server/servlet/RegisterServlet1";
AsyncHttpClient client = new AsyncHttpClient();
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, String content){
Toast.makeText(cont, "头像上传成功!"+content, 0)
.show();
}
@Override
public void onFailure(Throwable e, String data){
Toast.makeText(cont, "头像上传失败!", 0)
.show();
}
});
} catch (Exception e) {
e.printStackTrace();
}
}