私はmssql express 2005からpostgresql 9.0にデータベースを移行中です。 mssqlでは、カラムはイメージタイプで、postgresqlではbyteaタイプを使用しています。Coldfusionを使用してPostgresからイメージを保存および取得する
<cffile
action="readbinary"
file="#ExpandPath('./uploads/')##theLogo.SERVERFILE#"
variable="myLogo">
<cfquery
name="saveLogo"
datasource="#SESSION.DSN#">
UPDATE bright.group SET LOGO = <cfqueryparam
cfsqltype="cf_sql_blob"
value="#myLogo#">
</cfquery>
上記のスニペットは保存時には表示されますが、下のスニペットで画像を表示しようとすると何も表示されません。
<cfquery
datasource="#SESSION.dsn#"
name="image">
SELECT LOGO
FROM bright.group
WHERE groupid=#URL.groupid#
</cfquery>
<cfcontent variable="#image.LOGO#" type="image/png">
これはmssqlでは動作しますが、postgresでは動作しません。
ご協力いただきありがとうございます。 ありがとう
postgresデータソースのcfデータソース設定をチェックして、そのデータソース用に有効になっているBLOBを有効にします(postgresデータソースにそのオプションがある場合、私はこれを使用しません) – Antony
Antonyしかし助けなかった。 – KobbyPemson