我正在从 Active Directory 的属性 [“thumbnailPhoto”] 中读取图像。
我的模型将其分配给此:
public Image thumbnailPhoto { get; set; }
我的服务运行此代码以从 Active Directory 获取图像并将其放入我的模型中。
public Image GetUserPicture(string userName)
{
using (DirectoryEntry de = new DirectoryEntry("LDAP://server.com"))
using (DirectorySearcher ds = new DirectorySearcher(de))
{
ds.Filter = ("(&(objectCategory=person)(objectClass=User)(sAMAccountName=" + userName + "))");
ds.PropertiesToLoad.Add("thumbnailPhoto");
SearchResult rs = ds.FindOne();
using (MemoryStream s = new MemoryStream(rs.Properties["thumbnailPhoto"][0] as byte[]))
{
return Bitmap.FromStream(s);
}
}
}
我调用上面的方法并从这一行将其分配给模型:
user.thumbnailPhoto = GetUserPicture(rs.Properties["sAMAccountName"][0].ToString());
这一切似乎都在工作,没有错误,我可以在调试器中看到 user.thumbnailPhoto 的类型是 System.Drawing.Bitmap。
我现在卡住的地方是如何在网页上显示它?
是否可以将其thumbnailPhoto
放入 a中Session["UserPhoto"]
,因为我在每一页上都需要它?