我想显示数据库中的图像。我正在为该图像使用数据类型BLOB。
我已经尝试了#CharsetEncode(viewPoint.ppp_icons, "ASCII")#
,但它没有用。
答案 0 :(得分:3)
<cfimage action="writeToBrowser" source="#imageBlob#">
http://livedocs.adobe.com/coldfusion/8/htmldocs/Tags_i_02.html
或...使用Data URI scheme(有限的浏览器支持)。
<img src="data:image/png;base64,#toBase64(imageBlob)#" />
答案 1 :(得分:0)
<cfcontent reset="Yes" type="image/gif" variable="#QueryName.BlobColumn#" />
编辑:为了澄清,您可以将此代码放在单独的模板中。您可以将调用放在img标记的src属性中。您将传递数据库表的主键,新模板将查找并获取要输出的blob列。
我认为将所有blob数据保存在单独的请求中会更好,因为如果您尝试在页面上显示多个文件,最好先让页面加载而不是让页面加载时间等到所有blob数据都可以从sql server下载到coldfusion服务器。减少初始页面加载时间对可用性至关重要。
作为附录,如果要经常访问这些文件,那么最好将文件缓存在Web服务器上,并将单独的模板重定向到缓存文件。