0

我想像我的网络服务一样发送图像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();
     }
4

1 回答 1

0

你可以使用这个 -

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

        byte[] byteArray = baos.toByteArray();
于 2015-06-10T11:28:47.790 回答