当前位置: 代码迷 >> Android >> 上传图片到服务器 关于图片大小的有关问题
  详细解决方案

上传图片到服务器 关于图片大小的有关问题

热度:90   发布时间:2016-05-01 21:17:58.0
上传图片到服务器 关于图片大小的问题
我正在做一个上传图片到webservice的程序,用的是Ksoap2连接webservice  
然后把图片转换为字节数组 ,再把字节用Base64编码 然后发送到服务器
代码如下
Java code
 String imageBmp=new String(Base64.encode(BitmaptoBytes(myBitmap)));  private static byte[] BitmaptoBytes(Bitmap    bm)//把bitmap转换为字节数组------------------------------------    {        try        {                    ByteArrayOutputStream baos = new ByteArrayOutputStream();         bm.compress(Bitmap.CompressFormat.PNG, 100, baos);         return baos.toByteArray();        }        catch(Exception e)        {            Toast.makeText(new RunBowTMSActivity(),"转换失败",Toast.LENGTH_LONG).show();             return null;        }            }


上传几百K的图片没有问题,但是再上传一张700多K的图片是就报错了 报错信息如下


05-10 02:40:46.843: E/dalvikvm-heap(737): Out of memory on a 3018698-byte allocation.
05-10 02:40:46.883: E/AndroidRuntime(737): FATAL EXCEPTION: main
05-10 02:40:46.883: E/AndroidRuntime(737): java.lang.OutOfMemoryError
05-10 02:40:46.883: E/AndroidRuntime(737): at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:91)
05-10 02:40:46.883: E/AndroidRuntime(737): at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:216)
05-10 02:40:46.883: E/AndroidRuntime(737): at adidas.TMS.AndroidHttpTransport.call(AndroidHttpTransport.java:38)


请教大家是怎么做的?有没有这样的问题? 怎么解决?

能看到这里我就非常感谢了!^-^ 能指点一二就更好了 !

------解决方案--------------------
你转换之前 压缩了 不知道是不是那里出问题了
你的转换为二进制数组没问题 都是这么做的
  相关解决方案