2014-01-13 20 views
0

我想从wcf ksoap2发送图像到android。 在wcf端我已经将所有图像转换为字节数组并将它们存储在ArrayList中。 在android端,我从wcf响应填充ArrayList。 现在问题是字节数​​组没有正确接收,并且字节数组不能转换成Image/BufferedImage。如何将图像从wcf ksoap2传输到android

这里是我的代码

 byt = new byte[4096]; 
     byt = (byte[]) al.get(5); 
     //Image im; 
     BufferedImage bImageFromConvert = null; 
     InputStream in = new ByteArrayInputStream(byt); 

     try { 
      bImageFromConvert = ImageIO.read(in); 
      //ImageIO.write(bImageFromConvert, "jpg", new File(
      //  "c:/new-darksouls.jpg"));    

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

人是我的ArrayList。

+0

你有问题在android代码端或.net端? – dipali

+0

我在android方面有问题。 – yakhtarali

回答

0
private String prepareImage() { 
     if (tempPath == null) { 
      return ""; 
     } 

     BitmapFactory.Options options = new BitmapFactory.Options(); 
     options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
     Bitmap bitmap = BitmapFactory.decodeFile(tempPath, options); 
     bitmap = Bitmap.createScaledBitmap(bitmap, 50, 50, true); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     //bitmap.compress(Bitmap.CompressFormat.PNG, 50, baos); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 50, baos); 

     byte[] byteArray = baos.toByteArray(); 

     String imageString = com.size4u.utils.Base64 
       .encodeBytes(byteArray); 
     bitmap = null; 
     System.gc(); 
     Runtime.getRuntime().gc(); 
     return imageString; 
    } 
+0

我无法得到它。我想将字节[]转换为Image/BufferedImage – yakhtarali

+0

tempPath是您的图像路径 – dipali

+0

此函数返回图像字符串,该图像字符串存储字节,并且此字符串传递给webservice。 – dipali