SPFile-Klasse
Stellt eine Datei in einer SharePoint-Website, die eine Webparts-Seitemöglich ist, ein Element in einer Dokumentbibliothek oder einer Datei in einem Ordner.
Vererbungshierarchie
System.Object
Microsoft.SharePoint.SPFile
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Class SPFile
'Usage
Dim instance As SPFile
public class SPFile
Hinweise
Verwenden Sie die GetFile oder die GetFileAsString -Methode der SPWeb -Klasse um eine Einzeldatei-Objekt zurückzugeben. Anderenfalls verwenden Sie entweder die SPWeb oder die SPFolder -Klasse die Files -Eigenschaft, um ein SPFileCollection -Objekt zurückzugeben, das die Auflistung von Dateien für eine Website oder einen Ordner darstellt. Verwenden Sie einen Indexer auf eine einzelne Datei aus der Auflistung zurückgegeben. Verwenden Sie z. B., wenn die Auflistung in eine Variable namens collFileszugewiesen wird, collFiles[index] in C# oder collFiles(index) in Visual Basic, wobei index die Indexnummer der Datei in der Auflistung der Dateiname einschließlich Erweiterung oder eine Website relativ Websitesammlungs-relative oder absolute URL ist.
Beispiele
Dieses Beispiel fügt eine Datei in der Dokumentbibliothek Freigegebene Dokumente von einer anderen Website und deren Unterwebsites aus der Dokumentbibliothek eines Standorts.
Ein Beispiel, das zeigt, wie Sie programmgesteuert eine lokale Datei in einen Ordner auf einer SharePoint-Website hochladen, finden Sie unter How to: Upload a File to a SharePoint Site from a Local Folder.
Dim siteCollection As SPSite = SPContext.Current.Site
Dim srcSite As SPWeb = siteCollection.AllWebs("Source_Site_Name")
Dim destSites As SPWebCollection =
siteCollection.AllWebs("Destination_Site_Name").Webs
Dim srcFile As SPFile =
srcSite.GetFile("Source_Folder_Name/Source_File")
Dim fileName As String = srcFile.Name
Dim binFile As Byte() = srcFile.OpenBinary()
Dim destSite As SPWeb
For Each destSite In destSites
If destSite.GetFolder("Shared Documents").Exists Then
Dim destFolder As SPFolder =
destSite.GetFolder("Shared Documents")
destFolder.Files.Add(fileName, binFile, True)
End If
Next destSite
SPSite oSiteCollection = SPContext.Current.Site;
SPWeb oWebsiteSrc = oSiteCollection.AllWebs["Source_Site_Name"];
SPWebCollection collWebsites =
oSiteCollection.AllWebs["Destination_Site_Name"].Webs;
SPFile oFile = oWebsiteSrc.GetFile("Source_Folder_Name/Source_File");
string strFilename = oFile.Name;
byte[] binFile = oFile.OpenBinary();
foreach (SPWeb oWebsite in collWebsites)
{
if (oWebsite.GetFolder("Shared Documents").Exists)
{
SPFolder oFolder = oWebsite.GetFolder("Shared Documents");
oFolder.Files.Add(strFilename, binFile, true);
}
oWebsite.Dispose();
}
oWebsiteSrc.Dispose();
Hinweis
Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, nachdem sie nicht mehr benötigt werden. Informationen zu bewährten Programmierpraktiken finden Sie unter Disposing Objects.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.