如何使用ColdFusion显示Active Directory jpegPhoto?

时间:2013-10-31 22:03:44

标签: coldfusion active-directory binary

我正在使用现有的Active Directory信息创建公司目录。我能够提取所需的所有数据,但我也希望将Active Directory用于照片。

我在此博客上找到了这段代码:http://plus10.blogspot.com/2008/02/coldfusion-cfldap-display-images-stored.html

    <!--- imageFile.cfm --->

<cfsilent>

<cfldap action="QUERY"
name="ldap"
attributes="jpegPhoto"
start="dc=[yourdc],dc=com"
filter="sAMAccountName=[loginname]"
server="[yourserver]"
username="[username]"
password="[password]">

<cfscript>
     ldapPhoto = toString(ldap.jpegPhoto);
     ldapPhoto = binaryDecode(ldapPhoto,"base64");
</cfscript>

</cfsilent><cfcontent type="image/jpeg" variable="#ldapPhoto#">


<!--- to display the image on a page --->

<img src="imageFile.cfm" width="100" height="125" alt="">

我插入了所有服务器数据并收到了错误

  

无法显示图像“.... imagefile.cfm”,因为它包含错误

为什么图像不显示?以及如何更正代码?

我在查询上做了<cfdump>,它只是显示为“jpegPhoto”而不是二进制数据。

我无法发布实际页面,因为它仅在内部网络上。

2 个答案:

答案 0 :(得分:1)

请注意,海报回答了她自己的问题。 cfcontentimg标记应使用source属性替换为cfimage标记,而action =“writeToBrowser”

答案 1 :(得分:0)

向作者致谢:src:https://plus10.blogspot.com/2008/02/coldfusion-cfldap-display-images-stored.html

February 12, 2008
ColdFusion CFLDAP - Display images stored in Microsoft Active Directory
Not too hard once I found out how MS stores the data in the photoJpeg field of Active Directory.
<!--- imageFile.cfm --->
<cfsilent>
<cfldap action="QUERY"
    name="ldap"
    attributes="jpegPhoto"
    start="dc=[yourdc],dc=com"
    filter="sAMAccountName=[loginname]"
    server="[yourserver]"
    username="[username]"
    password="[password]">
    <cfscript>
        ldapPhoto = toString(ldap.jpegPhoto);
        ldapPhoto = binaryDecode(ldapPhoto,"base64");
    </cfscript>
</cfsilent>
<cfcontent type="image/jpeg" variable="#ldapPhoto#">

<!--- to display the image on a page --->
<img src="imageFile.cfm" width="100" height="125" alt="">