关于android图片的传输,android图…

android客服端上传图片到服务器,使用的xml来传输base64编码后的图片
我使用的是android自带的httpclient来发送post请求的,我也想过自己使用post方式来发送数据,但是,数据在服务器端进行base64解码的时候保存,我也没找出原因,所以就没写出来了

发送post请求就是因为post允许一次传输的数据量大,因为图片经过base64编码后,数据量大,如果采用get或者其他的方式来传输数据,传输效率不过,而且数据量大小受到限制

1.获取android客服端图片

Java代码 复制代码 收藏代码
  1. //对文件的操作
  2. FileInputStream in = new FileInputStream(Environment.getExternalStorageDirectory() + "/images/musicmax.png");
  3. byte buffer[] = StreamUtil.read(in);//把图片文件流转成byte数组
  4. byte[] encod = Base64.encode(buffer,Base64.DEFAULT);//使用base64编码
  1. //对文件的操作   
  2. FileInputStream in new FileInputStream(Environment.getExternalStorageDirectory() "/images/musicmax.png");  
  3. byte buffer[] StreamUtil.read(in);//把图片文件流转成byte数组   
  4. byte[] encod Base64.encode(buffer,Base64.DEFAULT);//使用base64编码  
  //对文件的操作
  FileInputStream in = new FileInputStream(Environment.getExternalStorageDirectory() + "/images/musicmax.png");
  byte buffer[] = StreamUtil.read(in);//把图片文件流转成byte数组
  byte[] encod = Base64.encode(buffer,Base64.DEFAULT);//使用base64编码


2.发送post请求,注意android客服端访问网络记得要加访问网络的权限

Java代码 复制代码 收藏代码
  1. String path ="http://192.168.1.173:7999/videonews/TestServlet";
  2. Map params = new HashMap();//定义一个保存key-value的Map用于保存需要传输的数据
  3. params.put("value", new String(encod));//保存数据到map对象
  4. Log.i(TAG,new String(encod));
  5. if(StreamUtil.sendHttpClientPOSTRequest(path, params, "utf-8")){ //使用帮助类来发送HttpClient来发送post请求
  6. Log.i(TAG, "success :" + path + "----:decode:----" + new String(Base64.decode(encod, Base64.DEFAULT)));
  7. }
  1. String path ="http://192.168.1.173:7999/videonews/TestServlet";   
  2. Map params new HashMap();//定义一个保存key-value的Map用于保存需要传输的数据   
  3.   
  4. params.put("value", new String(encod));//保存数据到map对象   
  5. Log.i(TAG,new String(encod));  
  6. if(S
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值