Freigeben über


SPFileCollection.Add-Methode (String, Byte[], SPUser, SPUser, DateTime, DateTime)

Erstellt eine Datei in der Auflistung unter Verwendung des angegebenen URL, ein Bytearray, das den Inhalt einer Datei Benutzerobjekte enthält, die Benutzer, der Erstellung oder letzten Änderung der Datei und DateTime -Werte, die angeben darstellen, wenn sie haben.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Function Add ( _
    urlOfFile As String, _
    file As Byte(), _
    createdBy As SPUser, _
    modifiedBy As SPUser, _
    timeCreated As DateTime, _
    timeLastModified As DateTime _
) As SPFile
'Usage
Dim instance As SPFileCollection
Dim urlOfFile As String
Dim file As Byte()
Dim createdBy As SPUser
Dim modifiedBy As SPUser
Dim timeCreated As DateTime
Dim timeLastModified As DateTime
Dim returnValue As SPFile

returnValue = instance.Add(urlOfFile, _
    file, createdBy, modifiedBy, timeCreated, _
    timeLastModified)
public SPFile Add(
    string urlOfFile,
    byte[] file,
    SPUser createdBy,
    SPUser modifiedBy,
    DateTime timeCreated,
    DateTime timeLastModified
)

Parameter

  • file
    Typ: []

    Ein Bytearray, das die Datei enthält.

  • timeCreated
    Typ: System.DateTime

    Das Datum und die Uhrzeit der Erstellung die Datei. Sie müssen zum Festlegen der Uhrzeit erstellt auch legen Sie diesen Wert über den Indexer des Listenelements, das mit der Datei verknüpft ist und rufen Sie die Methode Update .

  • timeLastModified
    Typ: System.DateTime

    Das Datum und die Uhrzeit der letzten die Datei Änderung. Um die Zeit der letzten Änderung, müssen Sie auch legen Sie diesen Wert über den Indexer des Listenelements, das mit der Datei verknüpft ist und rufen Sie die Methode Update .

Rückgabewert

Typ: Microsoft.SharePoint.SPFile
Die neu hinzugefügte Datei.

Hinweise

Diese Methode schlägt fehl, eine Datei zu überschreiben, wenn die Datei bereits vorhanden ist. Wenn der Benutzer den Befehl ausführen, die nicht Mitglied der Administrator-Websitegruppe ist, gilt der SPUser -Objekt und DateTime -Wert nicht.

Diese Add -Methode ist für eine Dokumentbibliothek der Site; Wenn Sie mit einer Dokumentbibliothek Bereich verwenden, schlägt der Aufruf jedoch mit der Fehlermeldung "Zugriff verweigert". Wenn Sie nicht die letzten vier Parameter in der Methode Add einschließen, wird die Datei in der Dokumentbibliothek Bereich hinzugefügt, aber die Zeiten Autor und das Dokument kann nicht geändert werden.

Beispiele

Im folgenden Codebeispiel wird kopiert die Dateien in der oberste Ordner in einer Dokumentbibliothek in einer Website in die Dokumentbibliothek einer anderen Website. Das Beispiel erhält die Zeit erstellt oder zuletzt bearbeitet die Werte der ursprünglichen Bibliothek.

Dim site As SPSite = SPContext.Current.Site
Try
    Dim srcFolder As SPFolder = site.AllWebs("MySourceWebSite").GetFolder("MySourceDocLib")
    Dim destFiles As SPFileCollection = site.AllWebs("MyDestinationWebSite").GetFolder("MyDestinationDocLib").Files

    Dim srcFile As SPFile
    For Each srcFile In  srcFolder.Files
        Dim destURL As String = destFiles.Folder.Url + "/" + srcFile.Name
        Dim binFile As Byte() = srcFile.OpenBinary()
        Dim userAuthor As SPUser = srcFile.Author
        Dim userModified As SPUser = srcFile.ModifiedBy
        Dim created As System.DateTime = srcFile.TimeCreated
        Dim modified As System.DateTime = srcFile.TimeLastModified

        Dim newFile As SPFile = destFiles.Add(destURL, binFile, userAuthor, userModified, created, modified)

        Dim fileItem As SPListItem = newFile.Item
        fileItem("Created") = created
        fileItem("Modified") = modified
        fileItem.Update()
    Next srcFile
Finally
    site.Dispose() 
End Try
SPSite oSiteCollection = SPContext.Current.Site;
SPFolder oFolder = oSiteCollection.AllWebs["SourceWebSite"].GetFolder("SourceDocLib");
SPFileCollection collFiles = oSiteCollection.AllWebs["DestWebSite"].GetFolder("DestDocLib").Files;

foreach (SPFile oFile in collFiles.Files)
{
    string strDestUrl = collFiles.Folder.Url + "/" + srcFile.Name;
    byte[] binFile = oFile.OpenBinary();

    SPUser oUserAuthor = oFile.Author;
    SPUser oUserModified = oFile.ModifiedBy;
    System.DateTime dtCreated = oFile.TimeCreated;
    System.DateTime dtModified = oFile.TimeLastModified;

    SPFile oFileNew = collFiles.Add(strDestUrl, binFile, oUserAuthor, oUserModified, dtCreated, dtModified);
    SPListItem oListItem = oFileNew.Item;
    oListItem["Created"] = dtCreated;
    oListItem["Modified"] = dtModified;
    oListItem.Update();
}

Siehe auch

Referenz

SPFileCollection Klasse

SPFileCollection-Member

Add-Überladung

Microsoft.SharePoint-Namespace