BufferedInputStream を画像に変換するには?
元の質問:
BLOB を画像に変換するのが困難ですバッファリングされた画像。データベースから JPG 画像を BLOB として取得していますが、BufferedImage を使用した画像への変換では null が返されます。この問題はどうすれば解決できますか?
解決策:
- ImageIO.write を使用して書き出して、uploadedInputStream に有効な画像が含まれていることを確認します。
- Blob#length が Blob#getBytes と互換性のある値を返すようにしてください。この場合、Blob#length は long を返しますが、Blob#getBytes は int を予期しているため、切り捨てが発生する可能性があります。
- getBinaryStream の方が BLOB に適しているため、BLOB の内容を取得するには getBytes の代わりに getBinaryStream を使用することを検討してください。
追加考慮事項:
- 提供されたコードは、ImageIO.read によってスローされる潜在的な例外を処理しません。例外が正常に処理されるか、呼び出し元に伝播されることを確認してください。
- さらにデバッグするには、入力データのサイズや形式などの詳細情報を提供してください。
- のドキュメントを参照してください。 BLOB を正しく取得して処理するために使用しているデータベース ライブラリ。
以上がJava で BLOB を BufferedImage に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。