Androidからサーバーに画像を送信します。私は画像をBase64 Stringにデコードし、それをサーバーに送信しました。私は次のコードを使用して画像を文字列に変換しますBase64でエンコードされた文字列をJavaサーバーの画像ファイルに変換します。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bao);
byte [] byteArray = bao.toByteArray();
String imageToString=Base64.encodeToString(byteArray,Base64.DEFAULT);
return imageToString;
私はそれをサーバー側の画像に戻すことができません。私は私が偽ハフマンテーブル定義に例外といつかイム=ヌル例外を取得しています。この
byte[] imageBytes=Base64.decode(imageString);
InputStream in = new ByteArrayInputStream(imageBytes);
BufferedImage bImageFromConvert = ImageIO.read(in);
ImageIO.write(bImageFromConvert, "jpg", new File("D:\\myImage.jpg"));
を試してみました。エラーメッセージjavax.imageio.IIOException::私は
編集作っています何の間違いplzは私に言う偽のハフマンテーブル定義この行で
BufferedImage bImageFromConvert = ImageIO.read(in);
間違いを試してみてください(それはフランス語だが、詳細なコード例があります):ここでは、この上のチュートリアルがあります。 b) 'Base64.decode()'出力をファイルとして保存し、元のデータと比較してイメージビューアーで開くことができるかどうかを確認します。 – zapl