Freigeben über


SPFileCollection.Add-Methode (String, Stream, SPUser, SPUser, DateTime, DateTime)

Erstellt eine Datei in der Auflistung unter Verwendung des angegebenen URL, einen Stream, der 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 Stream, _
    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 Stream
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,
    Stream file,
    SPUser createdBy,
    SPUser modifiedBy,
    DateTime timeCreated,
    DateTime timeLastModified
)

Parameter

  • 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.

Beispiele

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

Try
    Dim srcSiteCollection As New SPSite("http://SourceSiteCollection")

    Try
        Dim srcWebSite As SPWeb = srcSiteCollection.AllWebs("SourceWebSite")
        Dim srcList As SPList = srcWebSite.GetList("SourceWebSite/SourceDocLib")

        Dim srcItems As SPListItemCollection = srcList.Items

        Dim srcItem As SPListItem
        For Each srcItem In  srcItems
            Dim srcFile As SPFile = srcItem.File
            Dim srcStream As Stream = srcFile.OpenBinaryStream()

            Dim destinSiteCollection As New SPSite("http://DestinationSiteCollection")

            Try
                Dim destinWebSite As SPWeb = destinSiteCollection.OpenWeb("DestinationWebSite")
                Dim destinList As SPList = destinWebSite.GetList("DestinationWebSite/DestinationDocLib")

                Dim destinFiles As SPFileCollection = destinList.RootFolder.Files

                Try
                    Dim destinFile As SPFile = destinFiles.Add(destinList + "/" + srcFile.Name, srcStream, srcFile.Author, srcFile.ModifiedBy, srcFile.TimeCreated, srcFile.TimeLastModified)

                    Dim destinItem As SPListItem = destinFile.Item
                    destinItem("Created") = srcFile.TimeCreated
                    destinItem("Modified") = srcFile.TimeLastModified
                    destinItem.Update()
                Catch Else
                End Try
            Finally
                destinSiteCollection.Dispose()
            End Try
        Next srcItem
    Finally
        srcSiteCollection.Dispose()
    End Try
Catch Else
End Try
try
{
    using (SPSite oSiteCollectionSrc = new SPSite("http://SourceSiteCollection"))
    {
        SPWeb oWebsiteSrc = oSiteCollectionSrc.AllWebs["SourceWebSite"];
        SPList oListSrc = oWebsiteSrc.GetList("SourceWebSite/SourceDocLib");

        SPListItemCollection collListItemsSrc = oListSrc.Items;

        foreach (SPListItem oListItemSrc in collListItemsSrc)
         {
            SPFile oFileSrc = oListItemSrc.File;
            Stream srcStream = oFileSrc.OpenBinaryStream();

            using (SPSite oSiteCollectionDest = new SPSite("http://DestinationSiteCollection"))
            {
                SPWeb oWebsiteDest = oSiteCollectionDest.OpenWeb("DestinationWebSite");
                SPList oListDest = oWebsiteDest.GetList("DestinationWebSite/DestinationDocLib");

                SPFileCollection collFilesDest = oListDest.RootFolder.Files;

                try
                {
                    SPFile oFileDest = collFilesDest.Add(oListDest + @"/" + oFileSrc.Name, srcStream, oFileSrc.Author, oFileSrc.ModifiedBy, oFileSrc.TimeCreated, oFileSrc.TimeLastModified);

                    SPListItem oListItemDest = oFileDest.Item;
                    oListItemDest["Created"] = oFileDest.TimeCreated;
                    oListItemDest["Modified"] = oFileDest.TimeLastModified;
                    oListItemDest.Update();
                }
                catch { }
                oWebsiteDest.Dispose();
            }
        }
        oWebsiteSrc.Dispose();
    }
}
catch { }

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.

Siehe auch

Referenz

SPFileCollection Klasse

SPFileCollection-Member

Add-Überladung

Microsoft.SharePoint-Namespace