Freigeben über


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.

Siehe auch

Referenz

SPFile-Member

Microsoft.SharePoint-Namespace