Java コードが Blob オブジェクトを画像に変換して null 値を返すのはなぜですか?

Patricia Arquette
リリース: 2024-11-09 16:54:02
オリジナル
325 人が閲覧しました

Why is my Java code converting a Blob object to an image returning a null value?

BufferedInputStream を画像に変換する

この質問は、Java プログラミングを使用して、データベースから取得した Blob オブジェクトを画像に変換することに関するものです。 BLOB には画像データが含まれていると想定されていますが、変換の結果は null 値になります。

回答

  • アップロードされた BLOB を確認してください:uploadedInputStream に有効な画像データが含まれていることを確認してください。 ImageIO.write を使用してファイルに保存し、再度読み取って整合性を確認します。
  • 長さの不一致: Blob#length は long を返すのに対し、Blob#getBytes は int を期待していることに注意してください。切り捨てられる可能性を回避するには、長さの値を確認してください。
  • 代替取得: H2 データベースの BLOB コンテンツはメモリに格納されない可能性があります。画像データを取得するには、代わりに getBinaryStream を使用することを検討してください。

完全なコード例

次のコード スニペットは、画像データを取得して表示する方法の例を示しています。前述の考慮事項を使用した H2 データベース:

以上がJava コードが Blob オブジェクトを画像に変換して null 値を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート