none
VB2005にて、MySQLのBLOBのカラムの画像変換可能かの判断 RRS feed

  • 質問

  • VB2005でMySQLのBLOBのバイナリデータを画像に変換できるか判断したいのですが、現状はバイナリデータの長さから判断して変換するか否かを分岐させているのですが、他に簡単な方法等はありますでしょうか?

    現状としては、大元のデータを登録する際に、他で使用する画像を格納するテーブルのデータを作成しており、初期データとしては、カラムのプライマリーキーを格納して、その長さを判別し得て、変換出来るか否かを判断しています。

    2015年4月2日 3:06

回答

  • PKとBLOBのフィールドからなるあるテーブルがあって、
    ・BLOBの初期値はPKが入ってあって
    ・ここに画像が入ってる(UPDATE)こともある
    ってことですか? 他にPDFが突っ込まれたりすることは無いんですよね?

    初期値の列は存在しないようにしたほうがいいと思いますけど...(テーブル制約として、存在する列にのBLOBは、全部有効な画像が入っていることにする)
    別途「BLOBの種別」フィールドを追加するとか、百歩ゆずっても、初期値をNULLや空にするとかですが...

    テーブルをどうしようもないなら、アプリ側でPKと同じ中身のBLOBははじくとか、現在実行されているように、サイズがある程度以上あるかとか、実際に中身に画像らしいヘッダが付いているかチェックするくらいしか判別する方法はないでしょうね。


    jzkey


    • 回答の候補に設定 星 睦美 2015年4月6日 7:11
    • 編集済み 星 睦美 2015年4月14日 5:34 一部修正
    • 回答としてマーク 星 睦美 2015年4月14日 5:35
    2015年4月2日 3:45

すべての返信

  • PKとBLOBのフィールドからなるあるテーブルがあって、
    ・BLOBの初期値はPKが入ってあって
    ・ここに画像が入ってる(UPDATE)こともある
    ってことですか? 他にPDFが突っ込まれたりすることは無いんですよね?

    初期値の列は存在しないようにしたほうがいいと思いますけど...(テーブル制約として、存在する列にのBLOBは、全部有効な画像が入っていることにする)
    別途「BLOBの種別」フィールドを追加するとか、百歩ゆずっても、初期値をNULLや空にするとかですが...

    テーブルをどうしようもないなら、アプリ側でPKと同じ中身のBLOBははじくとか、現在実行されているように、サイズがある程度以上あるかとか、実際に中身に画像らしいヘッダが付いているかチェックするくらいしか判別する方法はないでしょうね。


    jzkey


    • 回答の候補に設定 星 睦美 2015年4月6日 7:11
    • 編集済み 星 睦美 2015年4月14日 5:34 一部修正
    • 回答としてマーク 星 睦美 2015年4月14日 5:35
    2015年4月2日 3:45
  • 遅くなってすみません。

    処理としては、画像か判断して行うこととなりました。

    ありがとうございました。

    2015年5月12日 5:56