Gibt es eine andere Möglichkeit, als die Dateien in einem SPFolder durchzulaufen, um festzustellen, ob ein Dateiname (Zeichenfolge) existiert?So ermitteln Sie, ob eine Datei in einem SharePoint SPFolder existiert
Antwort
Sie können, wenn Sie die URL kennen verwenden auch die SPFile.Exists Eigenschaft wie folgt:
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)
{
...
}
}
Man würde auf den ersten Gedanken annehmen SPWeb.GetFile eine Ausnahme auslöst, wenn die Datei nicht existiert. Aber wie Sie sehen, ist dies nicht der Fall - es wird tatsächlich ein SPFile-Objekt zurückgeben.
eine CAML Abfrage ist die effizienteste Art und Weise (example here)
CAML ein bisschen sperrig sein kann, so ist auch wert auf Linq to Sharepoint Anbieter suchen, die die Details CAML versteckt von Ihnen entfernt.
Aber wenn Sie SP 2010 Kunden OM verwenden, wäre es tatsächlich eine Ausnahme aus, wenn die Datei nicht existiert:
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)
{
.
.
}
}
Die Ausnahme verursacht wird in der Regel durch den Kontext zu tun versuchen, .Lade Datei). Wenn die Datei nicht existiert, können Sie das vollständige Objekt nicht laden, so dass der Test das Ergebnis selbst unterbricht. Die Ausnahme wird nicht ausgelöst, wenn Sie clientContext.Load (file) durch clientContext.Load (file, f => f.Exists) ersetzen. –
- 1. So ermitteln Sie, ob eine Datei unbekannter Dateityp ist C#
- 2. PHP: Sagen Sie, ob eine Datei existiert?
- 3. Überprüfen Sie, ob eine Remote-Datei existiert
- 4. Sharepoint Zugriff verweigert RunWithElevatedPrivileges für SPFolder
- 5. Überprüfen Sie, ob eine Datei mit einem Platzhalter existiert
- 6. So überprüfen Sie, ob eine Datei existiert, bevor Sie eine neue Datei erstellen
- 7. So ermitteln Sie, ob der Mauszeiger in einem Steuerelement ist
- 8. Sharepoint: Wie programmgesteuert verwalten SPFolder und SPListItem Berechtigungen
- 9. Chef-Rezept So überprüfen Sie, ob die Datei existiert
- 10. So ermitteln Sie, ob MethodInfo eine Überschreibung der Basismethode ist
- 11. VB.NET: XMLWriter() prüfen, ob ein Verzeichnis existiert und ob eine Datei existiert, sonst erstellen Sie sie
- 12. Ermitteln, ob eine Datei geöffnet ist
- 13. So ermitteln Sie, ob eine meiner Aktivitäten im Vordergrund ist
- 14. Wie prüfen Sie, ob eine Datei in ansible existiert?
- 15. So ermitteln Sie, ob NSString leer ist
- 16. C# So ermitteln Sie, ob HTTPS
- 17. So ermitteln Sie, ob eine Webanwendung gerade ausgeführt wird
- 18. Schleife. Ermitteln, ob einer der Werte existiert
- 19. So ermitteln Sie, ob eine C++ - Vorlage die Methode
- 20. Sehen Sie, ob eine Variable/Funktion in einem Paket existiert?
- 21. So ermitteln Sie, ob eine Shellskriptdatei aus der Bash stammt
- 22. So ermitteln Sie, ob es eine referenzielle Integritätsverletzung gibt
- 23. Überprüfen Sie, ob eine Datei in einem Verzeichnis mit nur einem Teilnamen existiert
- 24. So ermitteln Sie, ob ein Verzeichnispfad SUBST'd wurde
- 25. So überprüfen Sie, ob eine dynamisch erstellte Datei in AWS S3 mit JS existiert
- 26. Ermitteln, ob eine Datei in Perl unter Windows verwendet wird
- 27. Überprüfen Sie, ob eine lokale Datei existiert (HTML5 FS API)
- 28. Überprüfen Sie, ob eine Klassenkonstante existiert
- 29. Ermitteln, ob ein Objekt in einem S3-Bucket basierend auf Platzhalter existiert
- 30. Überprüfen Sie, ob eine Klasse existiert
für mich gearbeitet, Dank – User5590