如何在android中将图像转换为字节数组

时间:2015-06-10 11:21:28

标签: java byte bytearray bytearrayoutputstream bytearrayinputstream

我想用我的网络服务发送byte[]图片。在发送请求时,我收到错误java.io.BufferedInputStream.streamClosed(BufferedInputStream.java:125),但图片已成功上传,这是我将InputStream转换为byte[]的功能,

     public static byte[] streamToBytes(InputStream is) {
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         byte[] buffer = new byte[1024];
         int len=0;
         try {
             while ((len = is.read(buffer)) >= 0) {
                 os.write(buffer, 0, len);
             }
         os.flush();
         os.close();
         is.close();
         } catch (java.io.IOException e) {
         }
         return os.toByteArray();
     }

1 个答案:

答案 0 :(得分:0)

你可以使用它 -

ByteArrayOutputStream baos=new ByteArrayOutputStream(1000);
        BufferedImage img=ImageIO.read(file);
        ImageIO.write(img, "jpg", baos);
        baos.flush();

        byte[] byteArray = baos.toByteArray();