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 であることがわかります。
私が今立ち往生しているのは、これをWebページに表示する方法ですか?
すべてのページで必要になるので、これthumbnailPhoto
をに投げ込むことは可能ですか?Session["UserPhoto"]