Sharepoint'in kullanıcı fotoğrafını WSS 3.0 nesne modeli aracılığıyla bir kullanıcı almaya çalışıyorum. Web'i çözümler için taradım, ancak şu ana kadar bunu yapmanın bir yolunu bulamadım. Mümkün mü, eğer öyleyse nasıl?WSS Nesne modelini kullanarak SPUser'den kullanıcı fotoğrafı alma
cevap
sizin için işi yardımcı gereken bir kod parçacığı olduğunu. Eğer sıkı WSS 3.0 bahsedecek olursak
//get current profile manager
UserProfileManager objUserProfileManager = new UserProfileManager(PortalContext.Current);
//get current users profile
UserProfile profile = objUserProfileManager.GetUserProfile(true);
//get user image URL
string imageUrl = (string)profile[PropertyConstants.PictureUrl];
//do something here with imageUrl
Ah, UserProfileManager sınıfını kullanmanız gerekir. Burada fazla bilgi: http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx
Örnek kullanım: Burada
public override void ItemAdded(SPItemEventProperties properties)
{
// Get list item on which the event occurred.
SPListItem item = properties.ListItem;
// Set the Author Image field to the user's PictureURL if it exists.
using (SPWeb web = properties.OpenWeb())
{
// Author: {C32DB804-FF2D-4656-A38A-B0394BA5C931}
SPFieldUserValue authorValue = new SPFieldUserValue(properties.OpenWeb(), item[new Guid("{C32DB804-FF2D-4656-A38A-B0394BA5C931}")].ToString());
UserProfileManager profileManager = new UserProfileManager(ServerContext.GetContext(web.Site));
UserProfile profile = profileManager.GetUserProfile(authorValue.LookupId);
UserProfileValueCollection values = profile[PropertyConstants.PictureUrl];
if (values.Count > 0)
{
// Author Image: {37A5CA4C-7621-44d7-BF3B-583F742CE52F}
SPFieldUrlValue urlValue = new SPFieldUrlValue(values.Value.ToString());
item[new Guid("{37A5CA4C-7621-44d7-BF3B-583F742CE52F}")] = urlValue.Url;
}
}
item.Update();
// News Text: {7F55A8F0-4555-46BC-B24C-222240B862AF}
//
// Author Image: {37A5CA4C-7621-44d7-BF3B-583F742CE52F}
//
// Publish Date: {45E84B8B-E161-46C6-AD51-27A42E4992B5}
//
}
(değil: Sen (... vb, resim URL'sini gerçekte var sağlanması, profil gerçekte var sağlanması) Herhangi özel durumları önlemek için bazı ek doğrulama yapmanız gerekebilir MOSS), o zaman aslında global kullanıcı profillerine sahip değilsiniz, ancak her site koleksiyonundaki bir gizli Kullanıcı Bilgisi Listesi. Bu, Microsoft.Office.Server ad alanlarındaki hiçbir şeyin size sunulmadığı anlamına gelir. Bununla birlikte, kullanıcının bilgi URL'sini bildiğiniz sürece Kullanıcı Bilgileri Listesini programlı olarak güncelleyebilirsiniz. Bir çeşit yükseltilmiş ayrıcalıklarla koştuğunuz sürece, başka bir SharePoint listesiyle yaptığınız gibi manipulate this list'u kullanabilmeniz gerekir. Bu listenin yalnızca bir site koleksiyonunun kapsamı için uygun olduğunu unutmayın. Bu nedenle, kullanıcıların bir fotoğraf URL'si olması için bu güncellemeyi her yerde yapmaları gerekir. Ayrıca, kullanıcılar birileri kendilerine bir tür izin verene kadar Kullanıcı Bilgileri Listesine giremez, bu nedenle alanınızdaki her kullanıcı oraya girmeyecektir.
Bunu işlemenin temiz yolu, kesinlikle Kullanıcı Profili mekanizmasının MOSS'dur, ancak bu seçenek de MOSS ve WSS hakkında soru sormak için gerçekten güncelleştirilmesi gerekir.
- 1. Django admin için Kullanıcı Modelini Değiştirme
- 2. Bir paperclip kullanarak raw_data fotoğrafı nasıl kaydedilir
- 3. Kullanıcı girişi alma Ruby'de
- 4. Fotoğrafı çektikten sonra düzenleyin
- 5. Seçimi alma wijmo ızgarasını kullanarak değiştirilen nesne değeri
- 6. Entity Framework modelini kullanarak veri ekleme
- 7. ARMA modelini kullanarak istatistik modelleri tahmin etme
- 8. Köprü tablosu kullanarak kullanıcı kimliği alma Varlık Yönetimi
- 9. Publish_actions Izin fotoğrafı yükle
- 10. Fotoğrafı Google+ yayınlarında değiştirme
- 11. Kullanıcı Girişi Alma. Python GUI
- 12. Windows Formlarında Endüktif Kullanıcı Arabirimi modelini kullanıyor musunuz?
- 13. ActionParameters'dan karmaşık bir nesne geri alma
- 14. Yedekleme ve geri yükleme wss 3.0
- 15. İstemci Nesne Modeli'ni kullanarak bir SP Listesinden liste öğesi alan değerlerini alma
- 16. Firefox eklentileri ve uzantıları: alma kullanıcı giriş
- 17. zend kullanarak alma CSV
- 18. Android ile wss ile websocket bağlanılamıyor
- 19. Fotoğrafı MVC 4 Uygulamalarına Yükleyin
- 20. Fotoğrafı html olarak nasıl değiştirebilirim
- 21. Nesne-C Çerçeve (CocoaPod) Swift içine alma?
- 22. Scalada dize adına göre nesne örneği alma
- 23. Zookeeper nesne önbelleğe alma için uygun mu?
- 24. Django Group modelini nasıl genişletirim?
- 25. Fotoğrafı çektiğim anda videoyu nasıl duraklatırım?
- 26. Geçerli kullanıcı için NetworkCredential (C#) alma
- 27. Varsayılan olarak web parçasını WSS sayfasına ekle
- 28. Kişiselleştirilmiş Web Bölümü Görünümlerini Kullanma WSS 3.0?
- 29. Java'da Güvenli bir Websocket (wss) Sunucusu Oluşturma
- 30. Django - ImageField'da kayıtlı bir fotoğrafı nasıl görüntüleyebilirim?
profile [PropertyContants.PictureURL] bir koleksiyon döndürür, böylece doğrudan bir dizeye gönderilemediğinizden bu değeri almanız gerekir. –
Bu sadece MOSS için çalışır - WSS tek başına profil yöneticisi hizmeti veya sınıf içermez. –