仅使用Javascript显示Active Directory中的缩略图照片-Base64编码问题
以下是我想做的: 从一个只使用Javascript的html页面,我试图查询Active Directory并检索一些用户的属性。 我成功地做到了这一点(多亏了一些有用的代码,我刚刚整理了一下)。 例如,我可以在我的html页面上显示我在代码中提供的“samAccountName”用户的“displayName”,这非常好 但我也想展示“缩略图照片”,这里我遇到了一些问题。。。 我知道广告以字节数组的形式提供了“thumbnailPhoto”,我应该能够在标签中显示它,如下所示:仅使用Javascript显示Active Directory中的缩略图照片-Base64编码问题,javascript,active-directory,base64,Javascript,Active Directory,Base64,以下是我想做的: 从一个只使用Javascript的html页面,我试图查询Active Directory并检索一些用户的属性。 我成功地做到了这一点(多亏了一些有用的代码,我刚刚整理了一下)。 例如,我可以在我的html页面上显示我在代码中提供的“samAccountName”用户的“displayName”,这非常好 但我也想展示“缩略图照片”,这里我遇到了一些问题。。。 我知道广告以字节数组的形式提供了“thumbnailPhoto”,我应该能够在标签中显示它,如下所示: <img
<img src="data:image/jpeg;base64," />
(我将数据库信息替换为Xs)
(只返回一个条目,这就是为什么我在控制台中使用rowResult而不是数据)
以下是控制台返回的内容:
日志:Lastname,Firstname
日志:
var ADConnection = new ActiveXObject( "ADODB.connection" );
var ADCommand = new ActiveXObject( "ADODB.Command" );
ADConnection.Open( "Data Source=Active Directory Provider;Provider=ADsDSOObject" );
ADCommand.ActiveConnection = ADConnection;
var ou = "DC=XX,DC=XXXX,DC=XXX";
var where = "objectCategory = 'user' AND objectClass='user' AND samaccountname='XXXXXXXX'";
var orderby = "samaccountname ASC";
var fields = "displayName,thumbnailPhoto";
var queryType = fields.match( /,(memberof|member),/ig ) ? "LDAP" : "GC";
var path = queryType + "://" + ou;
ADCommand.CommandText = "select '" + fields + "' from '" + path + "' WHERE " + where + " ORDER BY " + orderby;
var recordSet = ADCommand.Execute;
fields = fields.split( "," );
var data = [];
while(!recordSet.EOF)
{
var rowResult = { "length" : fields.length };
var i = fields.length;
while(i--)
{
var fieldName = fields[i];
if(fieldName == "directReports" && recordSet.Fields(fieldName).value != null)
{
rowResult[fieldName] = true;
}
else
{
rowResult[fieldName] = recordSet.Fields(fieldName).value;
}
}
data.push(rowResult);
recordSet.MoveNext;
}
recordSet.Close();
console.log(rowResult["displayName"]);
console.log(rowResult["thumbnailPhoto"]);