Coldfusion 显示调用数据库中图片名称的图像

Coldfusion 显示调用数据库中图片名称的图像,coldfusion,Coldfusion,我正在尝试显示数据库中某个路径的图片。我查询数据库,找到像这样的图片名称。 html <img alt="image" class="img-circle" src="images/show_image.cfm" width="48" height="48"/> 显示图像。cfm <cfquery name="grab_image"> SELECT picture FROM dbo.Users WHERE employee_number = <

我正在尝试显示数据库中某个路径的图片。我查询数据库,找到像这样的图片名称。
html

<img alt="image" class="img-circle" src="images/show_image.cfm" width="48" height="48"/>

显示图像。cfm

<cfquery name="grab_image">
   SELECT picture
   FROM dbo.Users
   WHERE employee_number = <cfqueryparam value="#session.employee_number#" cfsqltype="cf_sql_varchar" />
 </cfquery>

<cfdump var="#grab_image#">

选择图片
来自dbo.Users
其中员工编号=
我正在试图找出如何让这个查询完成路径。这样它就可以通过执行src=“images/调用show\u image.cfm”来读取src=“images/(image name)”这是可能的吗

调用查询时,会得到如下数组:

<cfquery name="grab_image">
    SELECT picture
    FROM dbo.Users
    WHERE employee_number = <cfqueryparam value="#session.employee_number#" cfsqltype="cf_sql_varchar" />
</cfquery>

<cfif grab_image.RecordCount EQ 1>
    <cfoutput>
        <img alt="image" class="img-circle" src="images/#grab_image.picture#" width="48" height="48"/>
    </cfoutput>
<cfelse>
    <!--- no image or more than one image --->
</cfif>
我能用这种方式展示图片吗?

我不这么认为

您实际上是在
img
标记中放置一个完整的查询及其结构转储,而不是查询结果

运行查询然后像这样输出将非常容易

<cfquery name="grab_image">
   SELECT picture
   FROM dbo.Users
   WHERE employee_number = <cfqueryparam value="#session.employee_number#" cfsqltype="cf_sql_varchar" />
</cfquery> 

<cfoutput query="grab_image">
<img alt="image" class="img-circle" src="images/#picture#" width="48" height="48"/>
</cfoutput>

选择图片
来自dbo.Users
其中员工编号=
但是,如果图像文件本身有一个通用的命名约定,那么您甚至不需要数据库来加载它们。

图像应该是返回图像的URL,而不是指向图像的字符串路径。因此,如果您必须这样做,您需要以二进制形式读取图像。然后将其从show_image.cfm返回:


也就是说,除非有充分的理由必须将两者分开,否则使用单个.cfm页面(不是HTML)并使用cfoutput从查询数据中简单地构建字符串路径会简单得多:

<img src="images/#yourQuery.theFileName#" ... />

您需要执行以下操作:

<cfquery name="grab_image">
    SELECT picture
    FROM dbo.Users
    WHERE employee_number = <cfqueryparam value="#session.employee_number#" cfsqltype="cf_sql_varchar" />
</cfquery>

<cfif grab_image.RecordCount EQ 1>
    <cfoutput>
        <img alt="image" class="img-circle" src="images/#grab_image.picture#" width="48" height="48"/>
    </cfoutput>
<cfelse>
    <!--- no image or more than one image --->
</cfif>

选择图片
来自dbo.Users
其中员工编号=
这是伪代码-未经测试

谢谢:)这可能有些过分,但您可以使用;-)做一些有趣的事情