イメージをバイト配列に変換するためのコードがあります。Javaイメージをバイト配列サイズの問題に変換する
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
baos.flush();
byte[] imageBytes = baos.toByteArray();
baos.close();
私が直面している問題は、画像のサイズが約2.65MBであることです。しかし、imageBytes.lengthは私に5.5MB以上の値を与えています。誰かが私が間違っている場所を教えてもらえますか?
サイズが約2.65MBであることをどのように知っていますか?結果のバイトを開くことができますか?それは大丈夫ですか? – Thilo
本当に入力イメージが本当にPNG形式ですか? – Perception
@Thilo - 画像はローカルマシンからアップロードされた画像です。ローカルマシンとサーバーの両方でファイルをチェックしました。サイズは2.65MBです。私はBufferedImageを使用していますimage = ImageIO.read(inputFile);ファイルからイメージオブジェクトを作成します。はい、size []を除いて格納されたbyte []はOKです。 –