Czy istnieje inny sposób niż przechodzenie przez pliki w folderze SPF, aby określić, czy istnieje nazwa pliku (string)?Jak ustalić, czy plik istnieje w programie SharePoint SPFolder
Odpowiedz
Można, jeśli znasz adres URL również użyć właściwości SPFile.Exists następująco:
using (SPSite site = new SPSite("http://server/site"))
using (SPWeb web = site.OpenWeb())
{
SPFile file = web.GetFile("/site/doclib/folder/filename.ext");
if (file.Exists)
{
...
}
}
Można by na pierwszej myśli zakładać SPWeb.GetFile zgłasza wyjątek, jeśli plik nie istnieje. Ale jak widzisz, tak nie jest - zwróci obiekt SPFile.
Korzystanie z CAML zapytanie jest najbardziej efektywny sposób (example here)
CAML może być nieco niewygodne, tak też warto przyjrzeć dostawcy Linq to Sharepoint, który ukrywa szczegóły CAML z dala od ciebie.
Ale jeśli używasz SP 2010 OM klienta, to rzeczywiście wyjątek, jeśli plik nie istnieje:
using(var clientContext = new ClientContext(site))
{
Web web = clientContext.Web;
Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl("/site/doclib/folder/filename.ext");
bool bExists = false;
try
{
clientContext.Load(file);
clientContext.ExecuteQuery(); //Raises exception if the file doesn't exist
bExists = file.Exists; //may not be needed - here for good measure
}
catch{ }
if (bExists)
{
.
.
}
}
Wyjątkiem jest zwykle spowodowane przez próbuje zrobić kontekst .Załaduj plik). Jeśli plik nie istnieje, nie można wczytać całego obiektu, więc sam test spowoduje przerwanie wyniku. Wyjątek nie zostanie zgłoszony, jeśli zastąpisz plik clientContext.Load (plik) przez clientContext.Load (file, f => f.Exists). –
- 1. SharePoint: Jak programowo zarządzać uprawnieniami SPFolder i SPListItem
- 2. Jak ustalić, czy plik istnieje w pakiecie aplikacji?
- 3. Jak ustalić, czy GraphicsEnvironment istnieje
- 4. jQuery - Jak ustalić, czy istnieje element rodzica?
- 5. Jak ustalić, czy istnieje skrót ekranu głównego?
- 6. Jak ustalić, czy identyfikator procesu istnieje
- 7. Jak ustalić, czy obiekt istnieje w tablicy, czy nie javascript
- 8. ustalić, czy $ _SESSION superglobalną istnieje w PHP
- 9. Jak ustalić, czy otwarty plik jest gniazdem czy potokiem?
- 10. Uwierzytelnianie SharePoint. Jak zdobyć plik cookie SharePoint z ADFS
- 11. Jak najlepiej sprawdzić, czy plik cookie istnieje?
- 12. Jak ustalić, czy dany skrót hasha istnieje w danej gałęzi?
- 13. Jak ustalić, czy podkatalog istnieje w języku C#?
- 14. Jak ustalić, czy funkcja Perl istnieje w środowisku wykonawczym?
- 15. Jak ustalić, czy w klasie istnieje metoda określonego prototypu?
- 16. Czy istnieje odwołanie do składni databinding SharePoint?
- 17. Czy można sprawdzić za pomocą VBA, czy plik istnieje w witrynie programu SharePoint?
- 18. Jak ustalić, czy obiekt istnieje AWS S3 Node.JS sdk
- 19. Jak ustalić, czy plik jest zablokowany za pomocą VBS?
- 20. Czy istnieje funkcja koalescencji w programie Excel?
- 21. Jak sprawdzić, czy plik istnieje w pilocie?
- 22. Jak sprawdzić, czy plik istnieje w ansibla?
- 23. Jak ustawić wewnętrzną nazwę SPField w programie SharePoint 2010?
- 24. Sprawdza czy plik istnieje
- 25. Jak dodać wartość do pola odnośnika w programie SharePoint?
- 26. Czy istnieje plik memcached.dll?
- 27. Jak zmienić plik web.config rozszerzonej aplikacji SharePoint
- 28. Czy istnieje sposób, aby wstępnie ustalić klasy zagnieżdżone w C++?
- 29. vimscript: Jak wykryć, czy określony plik istnieje
- 30. Jak sprawdzić, czy istnieje katalog zawierający plik?
pracował dla mnie, dzięki – User5590