sql >> データベース >  >> RDS >> Mysql

データベースに保存されているときにJPEGエラー42が発生するのはなぜですか?

    ストリームが切り捨てられると、JPEGエラー42が報告されます。たとえば、長さがゼロのファイルをTJPEGImageにロードしようとした場合 その場合、エラー42が最終結果になります。

    一部の画像が表示されますが、すべてではない場合、最も可能性の高い説明は、データがDBへの往復を何らかの形で行っていないことです。

    書き出すときは、BLOBフィールドのサイズを確認してください。ディスクファイルに書き込むときに、ファイルのサイズと一致することを確認してください。ディスクファイルが有効なJPEGであることを確認してください。次に、BLOBフィールドを再読み込みするときに、BLOBフィールドの長さがまったく同じであることを確認します。おそらく、DBコードに問題があり、ストリームが切り捨てられています。

    したがって、ここでの最初のステップは、最初にDBに入力したものとまったく同じデータを回復できることを確認することです。

    私が持っている他の唯一の考えは、画像コントロールのグラフィックが常にJPEGであるとは限らないということです。画像の読み込みに使用するコードImage1.Picture.Graphic.LoadFromStream() データがJPEGであると想定しています。 JPEG以外のものを保存した場合は、LoadFromStream() 失敗するでしょう。




    1. 単一列データに基づく動的ヘッダーを備えたMySQLピボットテーブル

    2. すべてのテーブルのシーケンスIDpostgreSQLを一括更新する方法

    3. SQL Serverでデータファイルを移動する方法–パート1

    4. Mysqlはphp内で間違った答えを与えることを選択します